AJAX Uplad File 是个简单而美观的上传文件插件。
附件是从官方网站下的例子!
详细使用步骤如下:
1. 下载ajaxupload.js文件。 官方:http://valums.com/ajax-upload/
2. 在JSP中添加JS和CSS代码(如果你想自己定义样式)
<script type="text/javascript" src="<%=request.getContextPath() %>/js/ajaxupload.js"></script>
<style type="text/css">
.wrapper { width: 133px; margin: 0 auto; }
div.button {
height: 20px;
width: 83px;
background: url(../../../images/button.png) 0 0;
font-size: 12px; color: #C7D92C; text-align: center; padding-top: 0px;
}
div.button.hover {
background: url(../../../images/button.png) 0 56px;
color: #95A226;
}
</style>
<table width="80%">
<tr>
<td>inovice:</td><td><div id="inovice" class="button">Upload</div></td>
</tr>
<tr>
<td>COA:</td><td><div id="coa" class="button">Upload</div></td>
</tr>
</table>
$(document).ready(function () {
/* coa : itemFile为action中处理上传时定义的file name onSubmit: 点击上传的处理。 oncomplete: 上传完成后的信息处理*/
var coa = $("#coa"), interval;
new AjaxUpload(coa, {action:path + "/admin/book/item/upload/coa/" + $("#id").val(), name:"itemFile", onSubmit:function (file, ext) {
coa.text("Uploading");
this.disable();
interval = window.setInterval(function () {
var text = coa.text();
if (text.length < 13) {
coa.text(text + ".");
} else {
coa.text("Uploading");
}
}, 200);
}, onComplete:function (file, response) {
coa.text("Upload");
window.clearInterval(interval);
this.enable();
if (response.search("success") == -1) {
$("#coaText").text(file+" -->Error!");
} else {
$("#coaText").text(file+" -->Success!");
}
}});
/* inovice */
var inovice = $("#inovice"), interval;
new AjaxUpload(inovice, {action:path + "/admin/book/item/upload/inovice/" + $("#id").val(), name:"itemFile", onSubmit:function (file, ext) {
inovice.text("Uploading");
this.disable();
interval = window.setInterval(function () {
var text = inovice.text();
if (text.length < 13) {
inovice.text(text + ".");
} else {
inovice.text("Uploading");
}
}, 200);
}, onComplete:function (file, response) {
inovice.text("Upload");
window.clearInterval(interval);
this.enable();
if (response.search("success") == -1) {
$("#inoviceText").text(file+" -->Error!");
} else {
$("#inoviceText").text(file+" -->Success!");
}
}});
});
2. 上传处理,我是用spring 自带的文件上传处理。
*使用spring upload的上传功能首先需要在appliaction-context.xml中加入以下
<!-- upload file -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--property name="maxUploadSize">
<value>10485760</value>
</property>-->
<property name="maxInMemorySize">
<value>20480</value>
</property>
<property name="defaultEncoding">
<value>UTF-8</value>
</property>
</bean>
action中代码处理
@RequestMapping("/item/upload/{type}/{id}")
public void uploadFile(@PathVariable("type") String type, @PathVariable("id") Integer id, HttpServletRequest request, HttpServletResponse response) {
/* parse upload file */
MultipartHttpServletRequest mhs = (MultipartHttpServletRequest) request;
MultipartFile mf = mhs.getFile("itemFile");
String storePath = globalSettingService.getGlobalSetting().getUploadFilePath();
/* create stroeFolder */
File storeFileFolder = new File(storePath);
if (!checkStoreFolder(storeFileFolder, response)) {
MessageUtils.outputJSONResult("noStorePath", response);
return;
}
/* upload file */
String uploadFilePath = FilePathHelper.uploadFileToStorePath(mf, storeFileFolder);
if ("error".equals(uploadFilePath)) {
MessageUtils.outputJSONResult("error", response);
return;
}
BookItem o = buildBookItem(type, uploadFilePath, id);
bookService.saveBookItem(o);
MessageUtils.outputJSONResult("success", response);
}
/**
* upload file to disk path
* @param mf MultipartFile
* @return upload file absolute path
* @throws Exception
* @throws Exception if occur error throw Exception
*/
public static String uploadFileToStorePath(MultipartFile mf, File storeFile) {
if (null == storeFile || !storeFile.isDirectory()) {return "error";}
CommonsMultipartFile cmf = (CommonsMultipartFile)mf;
DiskFileItem fileItem = (DiskFileItem) cmf.getFileItem();
String fileType = StringUtils.substringAfterLast(fileItem.getName(), ".");
String fileName = generateFileName(fileType);
File storeNewFile = new File(storeFile.getAbsolutePath()+File.separator+fileName);
try {
fileItem.write(storeNewFile);
} catch (Exception e) {
e.printStackTrace();
return null;
}
fileItem.delete();
return fileName;
//return storeNewFile.getAbsolutePath();
}
分享到:
相关推荐
ASP.NET MVC AJAX 文件上传示例代码。 使用 jquery.fileupload + bootstrap 实现,支持多个文件上传。 运行环境:Visual Studio 2012 project, ASP.NET MVC4
**AjaxUpload技术详解** AjaxUpload是一种在Web应用中实现异步文件上传的技术,它基于JavaScript的Ajax(Asynchronous JavaScript and XML)技术,允许用户在不刷新整个页面的情况下上传文件,提高了用户体验。`...
**jQuery AjaxUpload应用详解** AjaxUpload是一款非常实用的JavaScript插件,它允许用户在无需刷新页面的情况下上传文件,极大地提升了用户体验。在这个详细的知识点解析中,我们将深入理解AjaxUpload的工作原理,...
标题"ajaxUpload."和描述"ajaxUpload.ajaxUpload.ajaxUpload."暗示我们将深入探讨这个话题。 ### 一、Ajax Upload原理 Ajax Upload的核心是利用JavaScript的异步特性,通过XMLHttpRequest对象与服务器进行通信。它...
在Web开发中,jQuery AJAX File Upload 是一个常见且实用的技术,它允许用户在不刷新整个页面的情况下上传文件。这一技术极大地提升了用户体验,因为用户可以一边浏览网页,一边进行文件上传,提高了交互性和效率。...
**jQuery插件AjaxUpload简介** AjaxUpload是一款基于jQuery的插件,它允许用户在无需刷新页面的情况下上传文件。这个插件极大地提升了用户体验,因为它能够实现在后台处理文件上传,同时还可以自定义各种反馈机制,...
AjaxUpload是jQuery的一个插件,它提供了一种方便的异步文件上传方式,无需刷新页面即可完成文件上传,提高了用户体验。在这个“Jquery AjaxUpload实现文件上传实例 PHP版”中,我们将探讨如何使用jQuery的Ajax...
当用户选择文件后,而不是立即提交整个表单,AjaxUpload会触发一个后台上传过程,这个过程通常伴随着进度指示和错误处理机制。在服务器端,接收并处理文件后,会将结果通过JSON、XML或其他格式响应给客户端,然后...
**AjaxUpload 示例详解** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术是一种实现页面无刷新更新数据的方法,极大地提升了用户体验。AjaxUpload是基于Ajax技术的一种文件上传方式,它允许用户在不...
AjaxUpload是一种基于JavaScript和Ajax技术实现的异步文件上传方式,它允许用户在不刷新...不过,随着技术的发展,HTML5的File API和Fetch API等新特性也在逐步替代传统的AjaxUpload方法,为文件上传提供了更多可能性。
总结来说,`jQuery ajax file upload`是通过`ajaxFileUpload`插件实现的一种无刷新的文件上传方式,它提高了用户体验,并且提供了丰富的自定义选项和回调机制,适用于各种Web应用的文件上传需求。要正确使用,需要...
**AjaxUpload.js 图片上传详解** AjaxUpload.js 是一个JavaScript库,它允许用户在不刷新整个页面的情况下,通过Ajax技术实现文件(特别是图片)的上传。这种上传方式提供了更好的用户体验,因为用户可以在上传过程...
本教程将详细讲解如何使用AjaxUpload控件,结合C#后端处理和jQuery前端库,实现一个单个按钮即可完成图片上传的功能,且无需使用传统的`<input type="file">`文件选择框。 首先,我们需要理解AjaxUpload的工作原理...
【AjaxUpload技术详解】 AjaxUpload是一种在Web应用中实现异步文件上传的技术,它结合了Ajax(Asynchronous JavaScript and XML)的优势,使得用户无需刷新整个页面就能完成文件上传操作,提高了用户体验。本技术...
在压缩包的文件名称列表中,我们可以看到`ajax-file-upload.php.htm`可能是包含HTML和PHP代码的综合文件,`ajax-upload-php.zip`是插件的完整源码包,而`ajax-file-upload.php_files`可能是一个目录,包含了与`ajax-...
在提供的"ajaxupload"压缩包中,可能包含了一个实现以上流程的示例代码。学习这个组件可以帮助你理解如何结合使用AJAX和PHP来实现文件上传功能,从而提升你的Web开发技能。请注意,实际应用时,你需要根据项目需求和...
在前端开发中,"ajax提交file文件"是一个常见的需求,特别是在现代Web应用中,用户可能需要上传图片、文档等文件而无需刷新整个页面。Ajax(Asynchronous JavaScript and XML)技术使得这种异步通信成为可能,它允许...
Base64和AjaxUpload上传文件代码实例 Base64和AjaxUpload上传文件代码实例是两种常用的文件上传方式,它们都可以实现文件上传到服务器端,但它们之间有着明显的区别。 Base64上传文件是一种基于文本编码的上传方式...
**jQuery Upload AJAX方式详解** 在Web开发中,文件上传是一个常见的功能,传统的文件上传通常需要刷新整个页面,用户体验较差。随着Ajax技术的发展,无刷新上传文件成为可能,jQuery结合Ajax提供了一种优雅的解决...