我们先编写页面并导入jquery的包

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="js/jquery-1.8.3.min.js"></script>
</head>
<body>
<input type="file" name="file"><br>
<input type="button" value="上传"><br>
</body>
</html>

然后为它添加相应的ajax代码,对于jquery如何使用我就不再讲解,大家可以去以下网址进行学习:jQuery 教程 | 菜鸟教程 (runoob.com)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="js/jquery-1.8.3.min.js"></script>
</head>
<body>
<input type="file" name="file"><br>
<input type="button" value="上传"><br>
</body>
</html>
<script>$(":button").click(function () {var datas = new FormData();datas.append("file",$(":file").get(0).files[0]);$.ajax({url:"ser01",type:"post",dataType:"json",processData: false,contentType:false,data:datas,success:function (data) {console.log(data)}})})
</script>

接下我们编写后端代码:

    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {DiskFileItemFactory diskFileItemFactory  = new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory);try {List<FileItem> fileItems = upload.parseRequest(req);for (FileItem fileItem : fileItems) {if (fileItem.isFormField()){//                是普通表单元素System.out.println("普通表单元素"+fileItem.getName()+"="+fileItem.getString());}else{//                是文件System.out.println("文件:"+fileItem.getName()+"    文件流inputStream:"+fileItem.getInputStream());int len;byte buffer[] = new byte[1024*10];BufferedInputStream bis = new BufferedInputStream(fileItem.getInputStream());BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("E:/"+fileItem.getName()));while ((len=bis.read(buffer))!=-1){bos.write(buffer,0,len);}bos.flush();bis.close();bos.flush();}}Map<String,Object> result = new LinkedHashMap<>();result.put("code","200");result.put("msg","上传成功");result.put("data","");resp.setContentType("text/html;charset=utf-8");resp.getWriter().write(JSONObject.toJSONString(result));} catch (FileUploadException e) {e.printStackTrace();}}

在我们进行调用后,上传的文件确实在后台服务器中被接收到了,而且也成功的被写入到了E盘中

利用jquery的ajax实现文件上传相关推荐

  1. jquery的ajax提交文件上传

    以前的项目大多的使用jquery的插件来进行文件上传,对于就只引用jquery而不使用插件来上传文件之前未有写过,最近项目里有写到和用到,就记录一下,以后方便查找. 提示:存在浏览器皆容问题,谨慎使用 ...

  2. html标签手册 360doc,基于AJAX的文件上传控件NetAdvantage for jQuery

    NetAdvantage for jQuery 是一款全新的轻量级.高性能的jQuery控件,包含了在线的Video播放控件,基于AJAX的文件上传控件,快速且强大的表格控件,以及创建和编辑Word. ...

  3. nodejs ajax进度条,Ajax异步文件上传与NodeJS express服务端处理的示例分析

    Ajax异步文件上传与NodeJS express服务端处理的示例分析 发布时间:2021-07-24 11:17:21 来源:亿速云 阅读:79 作者:小新 这篇文章主要介绍Ajax异步文件上传与N ...

  4. java mvc上传文件进度_java相关:springMVC+ajax实现文件上传且带进度条实例

    java相关:springMVC+ajax实现文件上传且带进度条实例 发布于 2020-7-5| 复制链接 本篇文章主要介绍了springMVC+ajax实现文件上传且带进度条实例,具有一定的参考价值 ...

  5. java+ajax实现文件上传

    1 文件上传 利用Java+ajax实现文件上传,这里介绍两种提交方法,第一种是file提交,第二种是base64提交 1.1 file方式 1.1.1 FileNameUtils public cl ...

  6. ajax文件插件上传,7 款基于 JavaScript/AJAX 的文件上传插件

    本文整理了7款基于JavaScript和AJAX的文件上传插件,这些插件基本上都能实现以下功能: 多文件上传 拖拽操作 实时上传进度 自定义上传限制 希望能为你的开发工作带来帮助. 具有多文件上传.拖 ...

  7. 使用ajax实现文件上传,使用input实现本地图片展示

    使用ajax实现文件上传,使用input实现本地图片展示 一.实现本地图片预览 HTML: <input type="file" id="chooseImage&q ...

  8. HTML5结合ajax实现文件上传以及进度显示

    基于原生html5实现,不需要falsh支持,进度可以自定义显示,控制灵活, 本来打算使用jquery插件进行异步文件上传,比如uploadfy但是需要额外的支持,也有人用iframe模仿异步上传机制 ...

  9. java html5 上传_HTML5结合ajax实现文件上传以及进度显示

    基于原生html5实现,不需要falsh支持,进度可以自定义显示,控制灵活, 本来打算使用jquery插件进行异步文件上传,比如uploadfy但是需要额外的支持,也有人用iframe模仿异步上传机制 ...

最新文章

  1. 00-elasticsearch的pom文件
  2. bufferedwriter缓冲区设置多大比较合适_画册设计一般多大?宣传册设计用多大尺寸比较合适?...
  3. 软件架构设计的三个维度,软件架构师需要知道的点,了解一下吧!
  4. Spring Data JPA教程,第一部分: Configuration(翻译)
  5. 解决PLSQL Developer 插入中文 乱码问题
  6. kotlin button_使用Kotlin和XML的Android Button
  7. multipathd dead but pid file exists
  8. 【2017-5-21】问题总结 Session,Cookie,登录状态保持
  9. 21 PagerTabStrip-PagerTitleStrip-viewPager
  10. ora01033是什么错误linux,ora-01033错误的解决办法
  11. 【硬刚大数据】从零到大数据专家之Apache Doris篇
  12. 瞬变抑制二极管的选型
  13. 如何显示手机gps定位服务器,手机gps定位服务器设置
  14. uiautomator测试中scrollForward方法使用失灵
  15. 手动操作导航控制器的子视图控制器的数组
  16. CentOS7下安装Apache WebDAV教程
  17. 深入浅出计算机组成原理20-面向流水线的指令设计(上):一心多用的现代CPU
  18. WampServer 的下载与安装
  19. Java多线程(上)
  20. 超市商品信息管理系统/超市管理系统的设计与实现

热门文章

  1. 魅蓝x android,魅蓝X后盖怎么打开?魅蓝X打开更换后盖方法图解
  2. libsodium引用报错FileNotFoundError: [Errno 2] No such file or directory: b‘liblibsodium.a‘
  3. cdr里怎么看html颜色代码大全,CDR中查看是RGB还是CMYK颜色的三种方法
  4. 电动汽车充电站(桩)控制系统解决方案
  5. kubebuilder实践笔记(4) - 编写简单的业务逻辑
  6. php获取上传文件的临时位置,php上传文件找不到临时文件夹(解决方法)
  7. 联想小新pro16 | CSGO掉帧问题解决
  8. 2.04 hyperledger fabric共识排序
  9. 如何使用Github实现协同工作
  10. linux elf命令,实战:Linux上修改ELF文件的方法