js通过formData上传文件,Spring后台处理
1、前端
var formData = new FormData();
formData.append('file', $("#file").val());
$.ajax({
url:'地址',
type:'post',
data:formData,
async:false,
processData:false,
contentType:false,
success:function (response) {
alert(response.msg);
}
})
2、controller
// 创建一个通用的多部分解析器 CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(); MultipartHttpServletRequest multiRequest = commonsMultipartResolver.resolveMultipart((HttpServletRequest) request);
List<String> strList = new ArrayList<String>();
String fileName = null;
List<MultipartFile> files = request.getMultiFileMap().get("file");
if(files != null) {
for (MultipartFile file : files){
String myFileName = file.getOriginalFilename();
if (myFileName.trim() != ""){
// 获得图片的原始名称
String originalFilename = file.getOriginalFilename();
// 获得图片后缀名称
String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")).toLowerCase();
// 获得上传路径的绝对路径地址
String realPath = request.getSession().getServletContext().getRealPath(路径);
File realPathDirectory = new File(realPath);
if (realPathDirectory == null || !realPathDirectory.exists()){
realPathDirectory.mkdirs();
}
// 采用UUID的方式重命名上传后的文件名
fileName = java.util.UUID.randomUUID().toString() + suffix;
File uploadFile = new File(realPathDirectory + "/" + fileName);
file.transferTo(uploadFile);
strList.add(request.getContextPath() + "/" + DirectoryName + fileName);
}
}}
js通过formData上传文件,Spring后台处理的更多相关文章
- c#+js 使用formdata上传文件
如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name=" ...
- 使用FormData上传文件、图片
关于FormData XMLHttpRequest Level 2添加了一个新的接口 ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XM ...
- FormData上传文件 带进度条
* jQuery ajax FormData 上传文件 template $.ajax({ url: url, type: 'POST', data: new FormData(form), dat ...
- 记录一次node中台转发表单上传文件到后台过程
首发掘金 记录一次node中台转发表单上传文件到后台过程 本篇跟掘金为同一个作者leung 公司几个项目都是三层架构模式即前台,中台(中间层),后台.前台微信端公众号使用vue框架,后台管理前端使 ...
- js实现分段上传文件
使用js实现分段上传文件,本文使用了FileReader对象,可参考:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader 1)获取文 ...
- (十)HttpClient以multipart/form-data上传文件
原文链接:https://blog.csdn.net/wsdtq123/article/details/78888734 POST上传文件 最早的HTTP POST是不支持文件上传的,给编程开发带来很 ...
- JS 异步分段上传文件
为了解决大文件上传 (PHP上传最大限制2GB) 同时为了解决文件上传是对服务器造成的压力 可以通过分段上传解决这个问题,这得益于HTML5开发的file API 前台代码: 引用了进度条插件myPr ...
- formData上传文件
需要将选中的xml传到后台,通过xslt转换为html html: <form id="uploadForm" enctype="multipart/form-da ...
- Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)
目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能---- ...
随机推荐
- flask 数据库迁移的简单操作
1.目的:修改现有数据库的表结构,不改变数据库中现有的数据. 2.导包:from flask_migrate import Migrate, MigrateCommandfrom flask_scri ...
- JVM垃圾收集器-Parallel Scavenge收集器
今天我给大家讲讲JVM垃圾收集器-Parallel Scavenge收集器 Parallel Scavenge收集器 Parallel Scavenge收集器也是一个新生代收集器,它也是使用复制算法的 ...
- FragmentXlistview
package com.example.lenovo.tablayout; /** * Created by lenovo on 2018/7/18. */ import android.os.Asy ...
- 机器学习基础一(TP,TN,FP,FN等)
TP:预测为正向(P),实际上预测正确(T),即判断为正向的正确率 TN:预测为负向(N),实际上预测正确(T),即判断为负向的正确率 FP:预测为正向(P),实际上预测错误(F),误报率,即把负向判 ...
- <%@taglib prefix="c" uri="http://java.sun.com/jsp/jst1/core"%>报错
查了一晚上 刚开始觉得最靠谱的还是这个说法: 1.下载jakarta-taglibs-standard-1.1.2.zip(在Weblogic中必须下载1.0版 http://jakarta.apa ...
- promise在angular中的基本使用
promise在angular中的基本使用 <!DOCTYPE html> <html ng-app="myApp"> <head> <m ...
- map集合实现缓存
package com.linmingliang.myblog.utils; import java.util.Map;import java.util.concurrent.ConcurrentHa ...
- Windows + Flask + Apache + wsgi踏坑总结
据前人踏坑经历,拷贝如下: 1. Apache,mod_wsgi和Python都必须用相同版本的C/C++编译器生成,要么都是32位的,要么都是64位的,不能混用. 2. Apache和mod_wsg ...
- C语言之一维数组与指针
一维数组: 假如有一维数组如下: ]; 该数组有3个元素,数据类型为char型,地址空间如下. 如果想访问数据,直接使用a[0].a[1].a[2]取出相应地址空间的值即可 一级指针: 指针即地址,c ...
- Windows 数字化器类输入设备--笔设备分析(1)(原创)
一.前言: 参考microsoft公司的链接:https://developer.microsoft.com/zh-cn/windows/hardware 将对Windows数字化器类输入设备--笔设 ...