当前位置: 首页 > 面试题库 >

请问如何在基于Java的Web项目中实现文件上传和下载?

陆敏学
2023-03-14
本文向大家介绍请问如何在基于Java的Web项目中实现文件上传和下载?相关面试题,主要包含被问及请问如何在基于Java的Web项目中实现文件上传和下载?时的应答技巧和注意事项,需要的朋友参考一下

考察点:文件传输

 

在Sevlet 3 以前,Servlet API中没有支持上传功能的API,因此要实现上传功能需要引入第三方工具从POST请求中获得上传的附件或者通过自行处理输入流来获得上传的文件,我们推荐使用Apache的commons-fileupload。 从Servlet 3开始,文件上传变得简单许多。

例如:

package
com.jackfrued.servlet;
 import java.io.IOException;
 import javax.servlet.ServletException;
 import javax.servlet.annotation.MultipartConfig;
 import javax.servlet.annotation.WebServlet;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.Part;
 @WebServlet("/UploadServlet")
 @MultipartConfig
 public class UploadServlet extends HttpServlet {
     private static final long serialVersionUID = 1L;
     protected void doPost(HttpServletRequest request,
             
HttpServletResponse response) throws ServletException, IOException {
         // 可以用request.getPart()方法获得名为photo的上传附件
         // 也可以用request.getParts()获得所有上传附件(多文件上传)
         // 然后通过循环分别处理每一个上传的文件
         Part part = request.getPart("photo");
         if (part != null &&
part.getSubmittedFileName().length() > 0) {
             // 用ServletContext对象的getRealPath()方法获得上传文件夹的绝对路径
             String
savePath = request.getServletContext().getRealPath("/upload");
             // Servlet
3.1规范中可以用Part对象的getSubmittedFileName()方法获得上传的文件名
             // 更好的做法是为上传的文件进行重命名(避免同名文件的相互覆盖)
             
part.write(savePath + "/" + part.getSubmittedFileName());
             
request.setAttribute("hint", "Upload Successfully!");
         } else {
             request.setAttribute("hint",
"Upload failed!");
         }
         // 跳转回到上传页面
         
request.getRequestDispatcher("index.jsp").forward(request, response);
     }
 }

 

 类似资料:
  • 本文向大家介绍基于django和dropzone.js实现上传文件,包括了基于django和dropzone.js实现上传文件的使用技巧和注意事项,需要的朋友参考一下 1、dropzone.js http://www.dropzonejs.com/ dropzone.js是一个可预览\可定制化的文件拖拽上传,实现AJAX异步上传文件的工具 2、dropzone.js前端界面上传方式 官网下载 并且

  • 本文向大家介绍Java Web项目中实现文件下载功能的实例教程,包括了Java Web项目中实现文件下载功能的实例教程的使用技巧和注意事项,需要的朋友参考一下 需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载的文件的地址 其中day06/download是文档路径,本实例的程序结构如下: 程序运行后,可以通

  • 本文向大家介绍基于Java文件输入输出流实现文件上传下载功能,包括了基于Java文件输入输出流实现文件上传下载功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Java实现文件上传下载功能的具体代码,供大家参考,具体内容如下 前端通过form表单的enctype属性,将数据传递方式修改为二进制”流“的形式,服务端(servlet)通过  getInputStream() 获取流信息,

  • 本文向大家介绍java web图片上传和文件上传实例,包括了java web图片上传和文件上传实例的使用技巧和注意事项,需要的朋友参考一下 图片上传和文件上传本质上是一样的,图片本身也是文件。文件上传就是将图片上传到服务器,方式虽然有很多,但底层的实现都是文件的读写操作。 注意事项 1.form表单一定要写属性enctype="multipart/form-data" 2.为了能保证文件能上传成功

  • 本文向大家介绍基于Spring实现文件上传功能,包括了基于Spring实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 本小节你将建立一个可以接受HTTP multi-part 文件的服务。 你将建立一个后台服务来接收文件以及前台页面来上传文件。 要利用servlet容器上传文件,你要注册一个MultipartConfigElement类,以往需要在web.xml 中配置<multipar

  • 在Vue项目实现文件下载的时候遇到一个问题,无论是使用a标签还是使用windown.open(url)都只会在网页打开预览,但是都不能下载,请问这是什么问题?应该如何去避免从而实现下载功能呢?查了好久资料,来来去去都是那一片文章抄来抄去,实在让人难受!!!这些粘贴怪真恶心!!!