㈠ java实现文件的上传和下载
用输出流 接受 一个下载地址的网络流然后将这个输出流 保存到本地一个文件 后缀与下载地址的后缀相同··上传的话 将某个文件流 转成字节流 上传到某个webservice方法里 ——-要代码来代码 URL url=new URL("http://www..com/1.rar"); URLConnection uc=url.openConnection(); InputStream in=uc.getInputStream(); BufferedInputStream bis=new BufferedInputStream(in); FileOutputStream ft=new FileOutputStream("E://1.rar");这是下载 上传太麻烦就不给写了
㈡ 用java实现文件的上传与下载
1.下载简单,无非是把服务器上的文件或者数据库中的BLob(或其他二进制型),用流读出来,然后写到客户端即可,要注意 ContentType。2.上传,可以用Apache Commons Upload等开源工具,或者自己写:form要用enctype="multipart/form-data"然后服务器端也是用IO把客户端提交的文件流读入,然后写到服务器的文件系统或者数据库里。不同的数据库对Lob字段操作可能有所不同,建议用Hibernate,JPA等成熟的ORM框架,可以不考虑数据库细节。
㈢ 请问java在实现文件的上传和下载时,文件通过什么传输
通过流的方式传输的,字节流
㈣ 求高手解题-JAVA文件上传及下载。
什么上传和下载哦 是不是用Socket套接字哦 这个应该也不是什么难事吧 最好有个服务器端就行了。。有兴趣可以加我。一起讨论一下前不久做了一个聊天室程序。听你这样说不如把文件的上传和下载加上去。。 QQ:495904500
㈤ java如何实现文件上传和下载的功能
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.jspsmart.upload.*;import net.sf.json.JSONObject;import action.StudentAction;public class UploadServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean result=true; SmartUpload mySmartUpload=new SmartUpload(); mySmartUpload.initialize(this.getServletConfig(), request,response); mySmartUpload.setTotalMaxFileSize(50*1024*1024);//大小限制 mySmartUpload.setAllowedFilesList("doc,docx");//后缀名限制 try { mySmartUpload.upload(); com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0); myFile.saveAs("/file/"+1+".doc");//保存目录 } catch (SmartUploadException e) { e.printStackTrace();result=false; } //*****************************// response.setContentType("text/html;charset=UTF-8"); response.setHeader("Cache-Control","no-cache"); PrintWriter out = response.getWriter(); out.print(result); out.flush(); out.close(); }}//我这是ajax方式的,不想这样,把//**********************//以下部分修改就行了//需要SmartUpload组件,去网上下个就行了,也有介绍的
㈥ 怎样使用javaweb实现上传视频和下载功能
文件上传就是将客户端资源,通过网路传递到服务器端。
因为文件数据比较大,必须通过文件上传才可以完成将数据保存到数据库端的操作。
文件上传的本质就是IO流操作。
演示:文件上传应该如何操作?
浏览器端:1.method=post 只有post才可以携带大数据2.必须使用<input type='file' name='f'>要有name属性3.encType="multipart/form-data"服务器端:request对象是用于获取请求信息。它有一个方法 getInputStream(); 可以获取一个字节输入流,通过这个流,可以读取到所有的请求正文信息.文件上传原理:浏览器端注意上述三件事,在服务器端通过流将数据读取到,在对数据进行解析.将上传文件内容得到,保存在服务器端,就完成了文件上传。
注意:在实际开发中,不需要我们进行数据解析,完成文件上传。因为我们会使用文件上传的工具,它们已经封装好的,提供API,只要调用它们的API就可以完成文件上传操作.我们使用的commons-fileupload,它是apache提供的一套开源免费的文件上传工具。
代码演示文件上传的原理:
在WebRoot下新建upload1.jsp
[html]view plain
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>MyJSP'index.jsp'startingpage</title>
</head>
<body>
<!–encType默认是application/x-www-form-urlencoded–>
<formaction="${pageContext.request.contextPath}/upload1"
method="POST"enctype="multipart/form-data">
<inputtype="text"name="content"><br>
<inputtype="file"name="f"><br><inputtype="submit"
value="上传">
</form>
</body>
</html>
新建Upload1Servlet 路径:/upload1
[java]view plain
packagecn.itcast.web.servlet;
importjava.io.IOException;
importjava.io.InputStream;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
{
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
//System.out.println("upload1servlet……");
//通过request获取一个字节输入流,将所有的请求正文信息读取到,打印到控制台
InputStreamis=request.getInputStream();
byte[]b=newbyte[1024];
intlen=-1;
while((len=is.read(b))!=-1){
System.out.println(newString(b,0,len));
}
is.close();
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doGet(request,response);
}
}
在浏览器端访问信息如下:
文件上传概述
实现web开发中的文件上传功能,需要完成如下二步操作:
在web页面中添加上传输入项。
在Servlet中读取上传文件的数据,并保存在服务器硬盘中。
如何在web页面中添加上传输入项?
<input type="file">标签用于在web页面中添加文件上传输入项,设置文件上传输入项时注意:
1、必须设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。
2、必须把form的encType属性设为multipart/form-data 设置该值后,浏览器在上传文件时,并把文件数据附带在http请求消息体内,并使用MIME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。
3、表单的提交方式要设置为post。
如何在Servlet中读取文件上传数据,并保存到本地硬盘中?
Request对象提供了一个getInputStream方法,通过这个方法可以读取到客户端提交过来的数据。但由于用户可能会同时上传多个文件,在servlet端编程直接读取上传数据,并分别解析出相应的文件数据是一项非常麻烦的工作,示例。
为方便用户处理文件上传数据,Apache 开源组织提供了一个用来处理表单文件上传的一个开源组件( Commons-fileupload ),该组件性能优异,并且其API使用极其简单,可以让开发人员轻松实现web文件上传功能,因此在web开发中实现文件上传功能,通常使用Commons-fileupload组件实现。
使用Commons-fileupload组件实现文件上传,需要导入该组件相应支撑jar包:Commons-fileupload和commons-io。commo-io不属于文件上传组件的开发jar文件,但Commons-fileupload组件从1.1版本开始,它工作时需要commons-io包的支持。
㈦ 怎么样用JAVA 实现文件的上传下载
如果不涉及到数据库的话,用简单的IO流即可实现。上传的时候你指定好文件路径或相对路径,把上传内容写进一个生成的文件。下载的时候你去搜下要下载的文件名,把该文件的内容读出来。如果涉及数据库的话你可以这样做,用hibernate框架的情况下,你可以定义一个实体,实体里含有要下载的文件的标题,内容,这个文件储存的路径等字段。上传的时候将文件读出来并赋值给这些字段,然后存到数据库中,并且将内容,标题等写成String的类型存储到数据库中,下载的时候你可以去数据库中搜这个路径,存在即可把数据库里的内容,标题等读到本地的盘上并生成个文件即可。
㈧ 那里有文件上传和下载的java代码急需
response.setCharacterEncoding("UTF-8");response.setContentType("application/zip; charset=GBK");InputStream inStream = new FileInputStream(new File(filePath));// 文件的存放路径String fileName = filePath.substring(filePath.lastIndexOf("\\") + 1);response.reset();response.addHeader("Content-Disposition", "attachment; filename=\""+ fileName + "\"");byte[] b = new byte[1024];int len;while ((len = inStream.read(b)) != -1)response.getOutputStream().write(b, 0, len);inStream.close();deleteZip(filePath);
㈨ java文件上传下载用哪种技术好
用commons-fileupload实现的上传文件同时提交form中的参数 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final long MAX_SIZE = 3 * 1024 * 1024;// 设置上传文件最大为 3M // 允许上传的文件格式的列表 final String[] allowedExt = new String[] { "jpg", "jpeg", "gif","png" }; response.setContentType("text/html"); // 设置字符编码为UTF-8, 这样支持汉字显示 // response.setCharacterEncoding("GBK"); // 实例化一个硬盘文件工厂,用来配置上传组件ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// 设置上传文件时用于临时存放文件的内存大小,这里是4K.多于的部分将临时存在硬盘 dfif.setRepository(new File(request.getRealPath("/") + "ImagesUploadTemp"));// 设置存放临时文件的目录,web根目录下的ImagesUploadTemp目录 // 用以上工厂实例化上传组件 ServletFileUpload sfu = new ServletFileUpload(dfif); // 设置最大上传尺寸 sfu.setSizeMax(MAX_SIZE); PrintWriter out = response.getWriter(); // 从request得到 所有 上传域的列表 List fileList = null; try { fileList = sfu.parseRequest(request); } catch (FileUploadException e) {// 处理文件尺寸过大异常 if (e instanceof SizeLimitExceededException) { out.print("<script>alert('文件尺寸超过规定大小:" + MAX_SIZE + "字节');history.back();</script>"); return; } e.printStackTrace(); } // 没有文件上传 if (fileList == null || fileList.size() == 0) { out.print("<script>alert('请选择上传文件!');history.back();</script>"); return; } HashMap<String, String> paramMap = new HashMap<String, String>(); // 得到所有上传的文件 Iterator fileItr = fileList.iterator(); // 循环处理所有文件 FileItem fileUp= null; String path = null; while (fileItr.hasNext()) { FileItem fileItem = null; long size = 0; // 得到当前文件 fileItem = (FileItem) fileItr.next(); // 忽略简单form字段而不是上传域的文件域(<input type="text" />等) if (fileItem == null || fileItem.isFormField()) { String formname=fileItem.getFieldName();//获取form中的名字 String formcontent=fileItem.getString(); formname=new String(formname.getBytes(),"GBK"); formcontent=new String(formcontent.getBytes(),"GBK"); paramMap.put(formname, formcontent); } else{ //得到放文件的item fileUp= fileItem; // 得到文件的完整路径 path = fileItem.getName(); // 得到文件的大小 size = fileItem.getSize(); if ("".equals(path) || size == 0) { out.print("<script>alert('请选择上传文件!');history.back();</script>"); return; } } } // 得到去除路径的文件名 String t_name = path.substring(path.lastIndexOf("\\") + 1); // 得到文件的扩展名(无扩展名时将得到全名) String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1); // 拒绝接受规定文件格式之外的文件类型 int allowFlag = 0; int allowedExtCount = allowedExt.length; for (; allowFlag < allowedExtCount; allowFlag++) { if (allowedExt[allowFlag].equals(t_ext)) break; } if (allowFlag == allowedExtCount) { StringBuffer sb = new StringBuffer(); for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++) sb.append("*." + allowedExt[allowFlag]); out.println("<script>alert('请上传以下类型的文件" + sb.toString() + "');history.back();</script>"); return; } long now = System.currentTimeMillis(); // 根据系统时间生成上传后保存的文件名 String prefix = String.valueOf(now); // 保存的最终文件完整路径,保存在web根目录下的ImagesUploaded目录下 String u_name = request.getRealPath("/") + "ImagesUploaded/" + prefix + "." + t_ext; // 相对项目路径 String file_url = request.getContextPath() + "/" + "ImagesUploaded/" + prefix + "." + t_ext; try { // 保存文件 fileUp.write(new File(u_name)); out.println("<script type='text/javascript'>parent.KE.plugin[\"image\"].insert('" +paramMap.get("id") + "', '" + file_url + "','" +paramMap.get("imgWidth") + "','" +paramMap.get("imgHeight") + "','" +paramMap.get("imgBorder") + "','" +paramMap.get("imgTitle") + "')</script>"); } catch (Exception e) { e.printStackTrace(); }
㈩ JAVA文件上传及下载。
其实都差不多啦,J2ME没太有人搞了,基本都是JSP后台的话就是用了FileInputStream和FileOutputStream,传个路径就可以了。版有些文件格式需要使用字权节流来传输,这个自己试试就知道了。
未经允许不得转载:山九号 » java文件上传和下载|怎样使用javaweb实现上传视频和下载功能