专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 JavaWeb实现文件上传的示例

JavaWeb实现文件上传的示例

更新时间:2022-03-17 11:14:47 来源:动力节点 浏览1208次

1.上传文件的JSP的一部分

上传文件,也可以使用form表单向后端发送请求,也可以使用ajax向后端发送请求

Send a request to the back end through the form table

改进后的代码不需要表单标签,直接由控件实现。开发者只需要关注业务逻辑。JS 已为我们关闭

通过监控工具可以看到控件提交的数据,非常清晰,调试也非常简单。

2.通过ajax向后端发送请求

        $.ajax({ 
             url : "${pageContext.request.contextPath}/UploadServlet", 
             type : "POST", 
             data : $( '#postForm').serialize(), 
             success : function(data) { 
                  $( '#serverResponse').html(data); 
             }, 
             error : function(data) { 
                  $( '#serverResponse').html(data.status + " : " + data.statusText + " : " + data.responseText); 
             } 
        });

AJAX 分为两部分。一部分是初始化。在上传文件之前,通过ajax请求通知服务器初始化

文件上传后向服务器发送通知

在这里,我们需要处理一下MD5秒传的逻辑。当服务器有相同文件时,用户无需再次上传,直接通知用户二次传输

这里我们可以看到二次传输的逻辑很简单,不是特别复杂。

var form = new FormData();
        form.append("username","zxj");
        form.append("avatar",file);
        //var form = new FormData($("#postForm")[0]);
        $.ajax({
            url:"${pageContext.request.contextPath}/UploadServlet",
            type:"post",
            data:form,
            processData:false,
            contentType:false,
            success:function(data){
                console.log(data);
            }
        });

java**部分**

文件初始化逻辑

接收文件块数据。在这个逻辑中,我们接收文件块数据。控制优化数据,方便调试。如果使用监控工具,可以看到控件提交的数据。

笔记:

(1)上面的java代码可以直接使用。只需要上传图片路径和采集数据,将数据写入数据库

(2)字节流用于上面上传的文件。实际上,可以使用其他流。读者需要改进下面的测试

(3)BeanUtils 是一个将实体对应的属性分配给实体的工具

(4)上传文件时不能使用request.getparameter(“”)获取参数。而是可以直接解析请求,判断每一项是否为文件,然后进行相应的操作(如果文件是流则读取,如果不是文件则暂时保存到一个地图。)

以上就是关于“JavaWeb实现文件上传的示例”介绍,大家如果想了解更多相关知识,可以关注一下动力节点的JavaWeb学习视频,里面的课程内容细致全面,由浅到深,通俗易懂,即使没有基础也可以听懂,相信对大家的学习一定会有所帮助的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>