javaweb实现文件上传

文件上传

  1. 创建一个空项目

  2. 新建一个web application 的Module

  3. 创建一个lib目录导入需要用的jar包

    • commons-io
    • commons-fileupload
  4. 将lib包添加到项目依赖(右键 Add as Library)

在这里插入图片描述

  1. 编写文件上传表单

    <%--通过表单上传文件
        get : 上传文件大小有限制
        post : 上传文件大小没有限制
        上传文件必须要enctype="multipart/form-data"
    --%>
    
      <form action="${pageContext.request.contextPath}/upload.do" method="post" enctype="multipart/form-data">
        <p>上传用户:<input type="text" name="username"></p>
        <p><input type="file" name="file1"></p>
        <p><input type="submit"> | <input type="reset"></p>
      </form>
    
  2. 编写Servlet

    public class FileServlet extends HttpServlet {
         
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         
    
            //判断上传的表单是普通表单还是带文件表单
            if (!ServletFileUpload.isMultipartContent(request)){
         //如果不是带文件表单
                return;//终止方法运行,直接返回
            }
    
            try {
         
            //创建上传文件的保存路径,建议在WEB-INF路径下,安全,用户无法直接访问上传的文件.
            String uploadPath = this.getServletContext().getRealPath("/WEB-INF/upload");
            File uploadFile = new File(uploadPath);
            if (!uploadFile.exists()){
         
                uploadFile.mkdirs();//如果不存在则创建目录
            }
    
            //缓存,临时文件
            //临时文件,假如文件超出预期大小,就把它放到临时文件夹中,过几天自动删除,或者提醒用户转存为永久文件
            String tmpPath = this.getServletContext()
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值