springMVC+ajax实现文件上传且带进度条实例
发布时间 - 2026-01-10 22:36:34 点击率:次前端代码:
<form id= "uploadForm">
<p >指定文件名: <input type="text" name="filename" value= ""/></p >
<p >上传文件: <input type="file" name="file"/></ p>
<input type="button" value="上传" onclick="doUpload()" />
</form>
function doUpload() {
var formData = new FormData($( "#uploadForm" )[0]);
$.ajax({
url: 'http://localhost:8080/xiaochangwei/file/upload' ,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
alert(returndata);
},
error: function (returndata) {
alert(returndata);
}
});
}
后端:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String upload(HttpServletRequest request, @RequestParam("file") MultipartFile file, ModelMap model) {
System.out.println("开始");
String path = request.getSession().getServletContext().getRealPath("upload");
String fileName = file.getOriginalFilename();
// String fileName = new Date().getTime()+".jpg";
System.out.println(path);
File targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// 保存
try {
file.transferTo(targetFile);
} catch (Exception e) {
e.printStackTrace();
}
model.addAttribute("fileUrl", request.getContextPath() + "/upload/" + fileName);
return "result";
}
如果前端有很多实体类数据同文件一同提交
可以修改后端方法为:
复制代码 代码如下:
upload(HttpServletRequest request, @RequestParam("file") MultipartFile file, ModelMap model,User user)
利用下面的代码更可实现带有进度条的文件上传
<script type="text/javascript">
function UpladFile() {
var fileObj = document.getElementById("file").files[0]; // js 获取文件对象
var FileController = "http://localhost:8080/xiaochangwei/file/upload"; // 接收上传文件的后台地址
// FormData 对象
var form = new FormData($( "#uploadForm" )[0]);
// XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
xhr.open("post", FileController, true);
xhr.onload = function () {
// alert("上传完成!");
};
xhr.upload.addEventListener("progress", progressFunction, false);
xhr.send(form);
}
function progressFunction(evt) {
var progressBar = document.getElementById("progressBar");
var percentageDiv = document.getElementById("percentage");
if (evt.lengthComputable) {
progressBar.max = evt.total;
progressBar.value = evt.loaded;
percentageDiv.innerHTML = Math.round(evt.loaded / evt.total * 100) + "%";
if(evt.loaded==evt.total){
alert("上传完成100%");
}
}
}
</script>
<progress id="progressBar" value="0" max="100"></progress>
<form id= "uploadForm">
<input type="file" id="file" name="myfile" />
<input type="button" onclick="UpladFile()" value="上传" />
</form>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# springmvc
# 上传进度条
# ajax
# 上传
# spring
# mvc进度条
# 利用SpringMVC和Ajax实现文件上传功能
# SpringMVC+Ajax实现文件批量上传和下载功能实例代码
# springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
# SpringMVC结合ajaxfileupload实现文件无刷新上传代码
# SpringMVC结合ajaxfileupload.js实现文件无刷新上传
# springMVC结合AjaxForm上传文件
# Springmvc加ajax实现上传文件并页面局部刷新
# 上传文件
# 后端
# 有很多
# 大家多多
# 文件上传
# 进度条
# 实体类
# false
# async
# cache
# success
# processData
# contentType
# upload
# System
# error
# model
# data
# POST
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
文字头像制作网站推荐软件,醒图能自动配文字吗?
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
b2c电商网站制作流程,b2c水平综合的电商平台?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
香港服务器租用每月最低只需15元?
如何确保西部建站助手FTP传输的安全性?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何在万网自助建站中设置域名及备案?
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
javascript读取文本节点方法小结
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
phpredis提高消息队列的实时性方法(推荐)
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
移动端脚本框架Hammer.js
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
七夕网站制作视频,七夕大促活动怎么报名?
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
Android okhttputils现在进度显示实例代码
如何基于PHP生成高效IDC网络公司建站源码?
linux top下的 minerd 木马清除方法
如何做网站制作流程,*游戏网站怎么搭建?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
Bootstrap整体框架之CSS12栅格系统
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
JavaScript如何实现类型判断_typeof和instanceof有什么区别
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
如何在万网利用已有域名快速建站?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Laravel如何处理表单验证?(Requests代码示例)
如何在IIS7中新建站点?详细步骤解析
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
浅析上传头像示例及其注意事项
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
图册素材网站设计制作软件,图册的导出方式有几种?
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
Laravel如何使用Gate和Policy进行授权?(权限控制)
昵图网官网入口 昵图网素材平台官方入口

