javaweb上传文件

上传文件的jsp中的部分

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

1.通过form表单向后端发送请求

Save

改进后的代码不需要form标签,直接由控件来实现。开发人员只需要关注业务逻辑即可。JS中已经帮我们封闭好了

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

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

1.

$.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(“”)获取参数了,而是直接将request解析,通过判断每一项是文件还是非文件,然后进行相应的操作(文件的话就是用流来读取,非文件的话,暂时保存到一个map中。)

欢迎入群一起讨论:374992201

java大文件解析_java大文件(百M以上)的上传下载实例解析相关推荐

  1. kingedit 上传php_php文件上传下载实例(实现最简单的网盘功能)

    本人是一个新手代码狗,第一次发表博客,欢迎大大们指点! 最近手头有一个文件上传下载的案例,跟大家一起分享一下作为一个新手的苦逼成长历程! 话不多说,先上代码: 一:这个是一个文件上传的html页面,小 ...

  2. Spring MVC文件上传下载实例

    工程目录: 导入jar: controllers.FileControler.java package controllers;import java.io.File; import java.io. ...

  3. Struts2中文件上传下载实例

    1.单文件上传 1 jsp页面: 2 3 <!-- 单文件上传 --> 4 <form action="Fileupload.action" method=&qu ...

  4. python上传文件进度_python实现进度条--主要用在上传下载文件

    在python中进行socket上传文件的时候使用进度条,然后在网上找了好久,找寻相关的进度的条的使用,看了几个,发现总是无法进行调用,主要原因是在进行上传文件的时候,每次传送的数据量是固定的,数据的 ...

  5. JavaWeb - Excel/Word(2003/2007、上传/下载、解析/生成、导入/导出)

    案例分析 技术说明 Ps:导出Word还需要关注一个"格式"的问题,否则就没必要用Word了,直接txt更方便. Ps:Word 2003:HwPFDocument:Word 20 ...

  6. linux文件传输限制带宽,linux – 如何限制CentOS服务器上传/下载带宽?

    我在这里为你添加脚本代码时遇到了麻烦,可以通过这个要点获得 – https://gist.github.com/akrasic/7242498#file-limit-tc-sh 该脚本使用TC和Hie ...

  7. Java实现FTP批量大文件上传下载

    用Java实现FTP批量大文件上传下载 <iframe id="I0_1416224567509" style="margin: 0px; padding: 0px ...

  8. 基于华为云obs实现文件上传下载(技术栈mysql+springboot+Maven+jsp+java)的技术分享

    基于华为云obs实现文件上传下载(技术栈mysql+springboot+jsp+java)的技术分享 obs实现文件上传下载 前言 一.OBS是什么? 二.使用步骤 1.1 前期准备 2 工具的内容 ...

  9. springboot上传下载文件(4)--上传下载工具类(已封装)

    因为在做毕设,发现之前的搭建ftp文件服务器,通过ftp协议无法操作虚拟机临时文件,又因为ftp文件服务器搭建的比较麻烦:而 hadoop的HDFS虽然可以实现,但我这里用不到那么复杂的:所以我封装了 ...

最新文章

  1. 将ImageVIew中的图片保存到本地相册中
  2. layer.load 支持文字内容
  3. JAVA大数_棋盘覆盖
  4. delete mysql 大表_无语了,直到今天,我才揪出MySQL磁盘消耗迅猛的“真凶”!
  5. 备份MySQL数据库的命令
  6. 利用 jQuery 克隆 Object
  7. python3 之 天天生鲜 项目 缓存cache
  8. C#串口通信工作笔记0002---上位机开发_嵌入式_串口助手_控制下位机的开关
  9. docker启动nginx代理不上_用 docker-compose 启动 nginx, network 为 host, nginx 无法启动是怎么回事?...
  10. jquery 多个class操作
  11. python深复制_Python深浅拷贝
  12. python 接受前端文件并上传
  13. PC端微信自动发送机器人
  14. Tenorshare UltData(苹果数据恢复软件)v8.5.3官方版
  15. Python使用forward,left,right等画多颜色图形
  16. 【Matlab代码】显示多幅图像
  17. EventBus使用详解(二)——EventBus使用进阶
  18. 自动化测试之 ddt 驱动 excel 文件
  19. 电脑的开机密码忘记了怎么打开
  20. 佟大为漂亮可爱女儿首度曝光(图)

热门文章

  1. go语言 不支持动态加载_动态语言支持
  2. 成为java高手_我如何想成为Java
  3. 如何在Java JVM中处理图像和视频
  4. javafx中的tree_JavaFX中的塔防(4)
  5. eventbus多个订阅_番石榴的EventBus –简单的发布者/订阅者
  6. java 解析gson_使用Java和Google GSON解析ESPN API
  7. java 对象锁定_少锁定Java对象池
  8. 了解java.nio.file.Path – 1
  9. Thymeleaf 3 – Thymeleaf 3和Spring MVC快速入门
  10. 关于java包_关于Java包