java获取ajax上传的文件,Java使用Ajax异步上传文件
相关代码示例:
html代码片段:
名称
class="layui-input">
描述
文件
请选择配置文件
立即提交
重置
js代码片段:
//上传配置文件
$("#save_config_file").click(function () {
var name = $("#config_name").val();
var desc = $("#config_desc").val();
var userId = $("#userId").val();
var formData = new FormData($("#uploadForm")[0]);
formData.append("name",name);
formData.append("desc",desc);
formData.append("userId",userId);
$.ajax({
url: 'http://localhost:8090/bfi-web/api/ide/settings/uploadFiles',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
layui.use('layer', function () {
var layer = layui.layer;
layer.msg(returndata.returnMsg, {
icon: 1
});
});
setTimeout(() => {
closeLayui();
}, 300);
},
error: function (returndata) {
console.log("====================Error==========================");
}
});
});
Java代码片段(这里是SpringMVC+腾讯云对象存储,可将其更换为其它对象存储,如七牛云、ftp或者是其它对象存储):
/**
* 上传文件
* @param request
* @param file
* @return
*/
@PostMapping(value="/uploadFiles",produces="application/json;charset=utf-8")
public JSONObject upModify(HttpServletRequest request, MultipartFile file) {
JSONObject json = new JSONObject();
try {
COSClientUtil cosClientUtil = new COSClientUtil();
if(!file.isEmpty()) {
String name = cosClientUtil.uploadFile2Cos(file);
String desc = request.getParameter("desc");
String names = request.getParameter("name");
String userId = request.getParameter("userId");
logger.info("desc:"+desc);
logger.info("names:"+names);
logger.info("userId:"+userId);
//图片名称
logger.info("name = " + name);
//上传到腾讯云
String imgUrl = cosClientUtil.getImgUrl(name);
logger.info("imgUrl = " + imgUrl);
//数据库保存图片地址
String dbImgUrl = imgUrl.substring(0,imgUrl.indexOf("?"));
logger.info("dbImgUrl = " + dbImgUrl);
IdeSettings ide = new IdeSettings();
ide.setName(names);
ide.setContent(dbImgUrl);
ide.setUserId(userId);
ide.setUpdateTime(DateUtil.date().toString());
ide.setUploadTime(DateUtil.date().toString());
ide.setDescription(desc);
boolean isAddConfig = ideSettingsService.insert(ide);
logger.info(isAddConfig);
if(isAddConfig) {
json.put(CommonEnum.RETURN_CODE, "000000");
json.put(CommonEnum.RETURN_MSG, "上传成功");
}else {
json.put(CommonEnum.RETURN_CODE, "222222");
json.put(CommonEnum.RETURN_MSG, "上传失败");
}
}else {
json.put(CommonEnum.RETURN_CODE, "111111");
json.put(CommonEnum.RETURN_MSG, "参数异常");
}
} catch (Exception e) {
e.printStackTrace();
json.put(CommonEnum.RETURN_CODE, "333333");
json.put(CommonEnum.RETURN_MSG, "特殊异常");
}
return json;
}
另一种示例:
1.jsp
$("#cxsc").click(function(){
var bankId = $("#bankId").val();
var formdata = new FormData();
formdata.append('logo', $('#btnFile').get(0).files[0]);
formdata.append('bankId', bankId);
$.ajax({
type: 'POST',
url: './uploadLogo',
contentType : false,
data : formdata,
processData : false,
dataType: "json",
success: function (data) {
$("#logoImg").attr('src','${_b}/upload/banklogo/'+data.msg);
},
error : function(data) {
alert('上传失败!');
}
});
上传
#if>
#if>
2.controller
@RequestMapping(value = "/uploadLogo", method = {RequestMethod.POST})
public void uploadLogo(
@RequestParam(value = "bankId", required = true) String bankId,
@RequestParam("logo") MultipartFile logo,
HttpServletRequest request, HttpServletResponse response, ModelMap model) {
Json json = new Json();
BankManage bankManage = bankManageService.getById(bankId);
if (bankManage != null) {
try {
if (!logo.isEmpty()) {
String relativePath = "/upload/banklogo";
// 旧图片路径
String absolutePath = request.getSession().getServletContext().getRealPath(relativePath)+"\\"+bankManage.getLogoImg();
File oldfile = new File(absolutePath);
if (oldfile.exists()) {
oldfile.delete(); // 删除旧图片
}
String newPath = request.getSession().getServletContext().getRealPath(relativePath)+"\\"+logo.getOriginalFilename();
File newFile = new File(newPath);
logo.transferTo(newFile);
bankManage.setLogoImg(logo.getOriginalFilename());
bankManageService.update(bankManage);
json.setMsg(logo.getOriginalFilename());
writeJson(request, response, json);
}else {
json.setMsg("上传失败!");
writeJson(request, response, json);
}
}catch (Exception e) {
e.printStackTrace();
logger.error(e);
}
}
}
以上就是Java使用Ajax异步上传文件的详细内容,更多关于Java 用Ajax上传文件的资料请关注脚本之家其它相关文章!
java获取ajax上传的文件,Java使用Ajax异步上传文件相关推荐
- java获取网络图片(比如微信授权后的头像)上传至linux服务器
//原生获取微信信息CodeWxUserInfoVo,然后将头像上传至自己的linux服务器 //因为上传用的是 MultipartFile file所以我下载图片后返回了MultipartFile文 ...
- jq ajax异步上传文件,jQuery插件ajaxFileUpload异步上传文件
AjaxFileUpload.js并不是一个很出名的插件,只是别人写好的放出来供大家用,原理都是创建隐藏的表单和iframe然后用JS去提交,获得返回值. 当初做了个异步上传的功能,选择它因为它的配置 ...
- java获取当前项目相对路径,在JAVA文件中获取该项目的相对路径
在JAVA文件中获取该项目的相对路径 1.基本概念的理解 绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如: C:\xyz\test.txt 代表了test.t ...
- java获取b站动态列表地址,java获取B站弹幕文件的两种方案
(一)实现思路 1,定位弹幕文件 一般用json或xml格式来保存弹幕,所以我们只要找到视频网页里面的xml文件或json文件,就能定位到弹幕文件. 2,解析弹幕文件 然后通过jsoup解析文件,提取 ...
- linux java 获取路径怎么写_linux中java获取路径的实例代码
linux中java获取路径怎么写? 在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java". 在java的代码开发中 \ 是代 ...
- linux java 获取路径怎么写_linux中java获取路径怎么写?
linux中java获取路径怎么写? 在Unix/Linux中,路径的分隔采用正斜"/",比如"cd /home/java". 在java的代码开发中 是代表转 ...
- java获取机器号_(转)JAVA获得机器码的实现
http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码 收藏代码 /** *生成机 ...
- java 获取linux主机名,linux下java获取hostname
linux下java获取hostname [2021-01-29 19:46:41] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace( ...
- java 获取spring对象数组_解析Java中如何获取Spring中配置的bean
解析Java中如何获取Spring中配置的bean Java中如何获取Spring中配置的bean?下面是由百分网小编为大家整理的解析Java中如何获取Spring中配置的bean,喜欢的可以收藏一下 ...
- java获取主机信息大全,网络编程:Java获取网络主机信息
java.net.InetAddress类表示互联网协议 (IP) 地址. 有两个子类:Inet4Address, Inet6Address 通过 InetAddress可以方便获取一个域名下的IP, ...
最新文章
- 奇点云发布三大无人零售终端产品,“云”“端”结合赋能零售商
- Fibonacii数列,兔子问题
- 如何查看jar包里的源码
- des加密 ios 和java_三重Des对称加密在Android、Ios 和Java 平台的实现
- Linux系统编程33:进程信号之详解信号的捕捉过程,用户态和内核态及其切换,sigaction和signal
- 浅析Kubernetes资源管理
- 项目管理学习 总结(一)
- postgreSQL源码分析——索引的建立与使用——各种索引类型的管理和操作(1)
- xdcms_3.0.1 | 代码审计
- flash人物原地走路_Flash怎么制作一个行走的小人动画?
- AgentWeb url监听问题
- 免费视频压缩软件实现压缩视频不损画质的技巧
- 图形文件的自由转换:DXF转PLT、DWG转其它格式......
- 使用LabelMe标注目标检测数据集并转换为VOC2017格式
- 再迎顶尖科学家,百度研究院为何如此吸引大师级AI人才?
- maximo工作笔记
- Android 内外边距
- 计算机软考什么时候出分,2020年计算机软考什么时候出成绩,怎么查成绩?|...
- 【网安神器篇】——Whatweb指纹识别工具
- 软件测试中一般术语的的英文缩写
热门文章
- Revit:概念建模环境技能学习 Revit: Conceptual Modeling Environment
- Codeforces Round #447 (Div. 2) B. Ralph And His Magic Field 数学
- 【机器学习基石笔记】八、噪声和错误
- easyui源码翻译1.32--Messager(消息窗口)
- MTD NANDFLASH驱动相关知识介绍
- 整理收集49条JQuery代码小结
- 翻译-高质量JavaScript代码书写基本要点(转载)
- BigPipe:高性能的“流水线技术”网页
- CI框架如何删除地址栏的 index.php
- .Net 中字符串性能