1. jsp+servlet实现文件上传与下载源码
上传:需要导入两个包:commons-fileupload-1.2.1.jar,commons-io-1.4.jarimport java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;/** * 上传附件 * @author new * */public class UploadAnnexServlet extends HttpServlet { private static String path = ""; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /* * post处理 * (non-Javadoc) * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { path = this.getServletContext().getRealPath("/upload"); try { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload up = new ServletFileUpload(factory); List<FileItem> ls = up.parseRequest(request); for (FileItem fileItem : ls) { if (fileItem.isFormField()) { String FieldName = fileItem.getFieldName(); //getName()返回的是文件名字 普通域没有文件 返回NULL // String Name = fileItem.getName(); String Content = fileItem.getString("gbk"); request.setAttribute(FieldName, Content); } else { String nm = fileItem.getName().substring( fileItem.getName().lastIndexOf("\\") + 1); File mkr = new File(path, nm); if (mkr.createNewFile()) { fileItem.write(mkr);//非常方便的方法 } request.setAttribute("result", "上传文件成功!"); } } } catch (Exception e) { e.printStackTrace(); request.setAttribute("result", "上传失败,请查找原因,重新再试!"); } request.getRequestDispatcher("/pages/admin/annex-manager.jsp").forward( request, response); }} 下载(i/o流)无需导包:import java.io.IOException;import java.net.URLEncoder;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 下载文件 * @author * */public class DownloadFilesServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 8594448765428224944L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /* * 处理请求 * (non-Javadoc) * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("fileName"); System.out.print("dddddddddd:" + name); // web绝对路径 String path = request.getSession().getServletContext().getRealPath("/"); String savePath = path + "upload"; // 设置为下载application/x-download response.setContentType("application/x-download"); // 即将下载的文件在服务器上的绝对路径 String filenamedownload = savePath + "/" + name; // 下载文件时显示的文件保存名称 String filenamedisplay = name; // 中文编码转换 filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8"); response.addHeader("Content-Disposition", "attachment;filename=" + filenamedisplay); try { java.io.OutputStream os = response.getOutputStream(); java.io.FileInputStream fis = new java.io.FileInputStream( filenamedownload); byte[] b = new byte[1024]; int i = 0; while ((i = fis.read(b)) > 0) { os.write(b, 0, i); } fis.close(); os.flush(); os.close(); } catch (Exception e) { } }}
2. 如何用JSP实现文件的上传和下载,要对数据库进行什么操作
你的表单呢?他的意思等你上传完成后,你要把文件信息更新到数据库,当你在向用户展示时,只需要查询数据即可。可以再数据库建一个表,吧相应字段存起来,最重要的是存上你的图片路径和名字。
3. 求jsp用数据库上传下载文件的例子!
我有个例子,是将文件保存到服务器的目录中,并把文件的路径保存进数据库中,我给你发过去了,你可以看看,可能会对你有些帮助
4. jsp 如何实现文件上传和下载功能
上传:
MyjspForm mf = (MyjspForm) form;// TODO Auto-generated method stub
FormFile fname=mf.getFname();
byte [] fn = fname.getFileData();
OutputStream out = new FileOutputStream("D:\"+fname.getFileName());
Date date = new Date();
String title = fname.getFileName();
String url = "d:\"+fname.getFileName();
Upload ul = new Upload();
ul.setDate(date);
ul.setTitle(title);
ul.setUrl(url);
UploadDAO uld = new UploadDAO();
uld.save(ul);
out.write(fn);
out.close();
下载:
DownloadForm downloadForm = (DownloadForm)form;
String fname = request.getParameter("furl");
FileInputStream fi = new FileInputStream(fname);
byte[] bt = new byte[fi.available()];
fi.read(bt);
//设置文件是下载还是打开以及打开的方式msdownload表示下载;设置字湖集,//主要是解决文件中的中文信息
response.setContentType("application/msdownload;charset=gbk");
//文件下载后的默认保存名及打开方式
String contentDisposition = "attachment; filename=" + "java.txt";
response.setHeader("Content-Disposition",contentDisposition);
//设置下载长度
response.setContentLength(bt.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(bt);
return null;
5. 我想用jsp语言编写的网页中实现文件上传、下载的功能,请问完整的代码怎么写,尽量是最简单的,谢谢
去网络搜 jsp 上传文件 jsp下载文件的例子。很简单
6. jsp项目中涉及文件的上传和下载怎么实现
你是用什么框架,如果里面有struts的话可以用struts自带有上传下载的功能,只需要写代码就好了,如果需要加我987781070,如果没有用到struts可以用ajax实现,这个自己网络就好了,很多案例的!
7. 怎么在jsp页面实现文件上传呢
上传文件示例:<form action="doUpload.jsp" method="post" enctype="multipart/form-data"><%– 类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什内么文件类型,均容可上传。–%>请选择要上传的文件<input type="file" name="upfile" size="50"><input type="submit" value="提交"></form></body></html>
8. jsp如何实现文件上传与下载
如果服务器端程序使用的是struts2框架的话,我会,其他的不会。struts2:对于上传,jsp页面只需要有个file类型的表单域,如<input type="file" name="xxx" />struts2的接收请求的action中再写三个属性与这个表单域的名称对应起来,他们是,File类型的xxx,String类型的xxxFileName,String类型的xxxContentType,并其设置相应的set/get方法。则框架负责接收上传文件的字节流,解析文件名,文件类型,直接使用即可。对于下载,只需要在action的配置文件中设置如下返回值类型和相应参数:<result type="stream"><param name="contentType">application/octet-stream</param><param name="inputName">inputStream</param><param name="contentDisposition">attachment;filename=xxx </param> xxx为下载文件的文件名</result>且在action总写一个返回值类型为InputStream的getInputStream方法,此方法返回你要下载的文件的流即可。 ps:其中contentDisposition的配置信息中attachment代表点击下载时浏览器先弹出个保存位置的提示框,然后再决定是否下载,默认是inline,即直接打开文件。
9. jsp实现文件上传到mysql数据库并能下载文件模块案列
不知道你基础怎么样,这是最原始最简单的案例了,html代码是你要选择文件的界面,jsp代码请命名为smartupload_demo02.jsp(因为html里面表单的action是提交到这个页面,当然你可以改,html表单action与jsp名称一致就行)另外还有很重要的一件事,你需要下载一个SmartUpload.jar插件放到你的web目录的lib文件夹下面,如果你不知道怎么下网络,再不行给个邮箱我发给你。不理解的地方可以联系我[email protected]qq.com,希望可以帮到你。html代码:<html><head><title>www.mldnjava.cn,MLDN高端Java培训</title></head><body><form action="smartupload_demo02.jsp" method="post" enctype="multipart/form-data">姓名:<input type="text" name="uname"><br>照片:<input type="file" name="pic"><br><input type="submit" value="上传"><input type="reset" value="重置"></form></body></html>jsp代码:<%@ page contentType="text/html" pageEncoding="GBK"%><%@ page import="org.lxh.smart.*"%><%@ page import="cn.mldn.lxh.util.*"%><html><head><title>www.mldnjava.cn,MLDN高端Java培训</title></head><body><%request.setCharacterEncoding("GBK") ;%><%SmartUpload smart = new SmartUpload() ;smart.initialize(pageContext) ;// 初始化上传操作smart.upload() ;// 上传准备String name = smart.getRequest().getParameter("uname") ;IPTimeStamp its = new IPTimeStamp(request.getRemoteAddr()) ;// 取得客户端的IP地址String ext = smart.getFiles().getFile(0).getFileExt() ;// 扩展名称String fileName = its.getIPTimeRand() + "." + ext ;smart.getFiles().getFile(0).saveAs(this.getServletContext().getRealPath("/")+"upload"+java.io.File.separator + fileName) ;%><%=smart.getFiles().getFile(0).getFileName().matches("^\\w+.(jpg|gif)$")%><h2>姓名:<%=name%></h2><img src="../upload/<%=fileName%>"></body></html>