html部分代码:
<input type='file' size='20' style='height: 25px;width:60%;' name='file' id='corp_icon_id'> <input type='button' onclick="uploadFile('corp_icon_id')" value='上传'>
js部分代码:
function uploadFile(fileId) { var fileIdValue = $("#" + fileId).val(); if (!fileIdValue) { mini.alert('请选择要上传的文件!', '提示'); } else { doSaveByfreshFlag(false); jQuery.ajaxFileUpload({ url : '<%=basePath%>basicData/OperationUnits_uploadFile.action', secureuri : false, fileElementId : fileId, dataType : 'text', type : "POST", data : { "fileFullName":fileIdValue, "tcorp.corp_id":corp_id }, success : function(data, status) { window.location.href ="basicData/OperationUnits_edit.action?primaryKey=" + corp_id +"&optype=edit"; }, error : function(data, status, e) { mini.alert('上传失败!', '提示'); } }); return false; } }
java部分代码:
private File file;//实现get和set方法 public String uploadFile() { String fileFullName = this.getParameter("fileFullName"); String id = this.getParameter("id"); String corpId = this.getParameter("corp_id"); String suffixName = fileFullName.substring(fileFullName.lastIndexOf(".")); String showName = fileFullName.substring(fileFullName.lastIndexOf("\\") + 1); String uploadRelativePath = "upload/images/"; String Serverpath = this.getServletContext().getRealPath("/"); String uploadFullPath = Serverpath + uploadRelativePath; File tempFile = this.getFile(); File outFile = new File(uploadFullPath); // 判断文件夹是否存在,如果不存在则创建文件夹 if (!outFile.exists()) { outFile.mkdirs(); } UUIDHexGenerator t = new UUIDHexGenerator(); // 文件名不能重复 String saveRelativeFileName = uploadRelativePath + t.generate() + suffixName; String saveFullFileName = Serverpath + saveRelativeFileName; try { FileInputStream inputStream = new FileInputStream(tempFile); FileOutputStream outputStream = new FileOutputStream(saveFullFileName); byte[] buf = new byte[1024]; int length = 0; while ((length = inputStream.read(buf)) != -1) { outputStream.write(buf, 0, length); } inputStream.close(); outputStream.flush(); outputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } this.tcorp.setCorp_icon(saveRelativeFileName); int resultCount = 0; resultCount = this.basicDataService.updateTcorp(tcorp); HashMap<String, String> resultMap = new HashMap<String, String>(); resultMap.put("count", resultCount + ""); String result = PluSoft.Utils.JSON.Encode(resultMap); this.ajax(result); return null; }
相关推荐
本文主要介绍如何在JSP项目中使用`ajaxFileUpload.js`插件解决跨域文件上传的问题,并提供了一个具体的示例代码,包括前端JS部分以及后端JSP和Struts2相关的处理逻辑。通过这个例子,我们可以深入了解整个跨域文件...
4. **创建Action类**:在Java代码中,创建`UploadAction`类,继承自Struts 2的ActionSupport类,实现文件上传的方法,如`upload()`。在这个方法中,可以使用`ServletFileUpload`类来处理上传的文件。 5. **前端页面...
《下载别人,低分提供》----------通过这几天对WebUploader控件的研究,终于有了一些收获,特意开发了一个完整的上传功能,包括前后端对上传文件的过滤校验,以及上传前的新增及移除文件。另外上传类中还有一个通用...
在Struts2中实现异步文件上传,可以显著提高用户体验,因为用户不需要等待整个页面刷新就能看到上传进度或者结果。这种方式通常涉及到JavaScript、Ajax以及服务器端处理。下面将详细讨论这个主题。 1. **Struts2...
在Java环境下,Struts2框架提供了强大的支持来处理文件上传。本篇文章将深入讲解如何利用AjaxFileUpload与Struts2实现多文件上传,并结合jQuery进行前端交互。 首先,我们需要在项目中引入必要的库。Struts2提供了...
在本文中,我们将深入探讨如何使用`ajaxFileUpload`与`Struts2`框架结合,实现多文件上传功能。这个示例源码提供了一个实用的方法,使得用户可以在不刷新整个页面的情况下,上传多个文件,提高了用户体验。 首先,`...
在IT行业中,AjaxFileUpload与Struts2框架的结合,特别是在处理JSON响应方面,是一种常见的文件上传技术。这里我们深入探讨这个主题。 首先,`ajaxFileUpload` 是一个JavaScript库,它允许用户在不刷新整个页面的...
具体来说,它结合了Spring Security(SS)和Struts2 (SH)两个框架,并利用ajaxfileupload.js这个JavaScript库来实现异步(即无刷新)的多文件上传和删除功能。以下将详细介绍这一技术方案的关键知识点: 1. **...
总结起来,Struts2的文件上传和下载功能涉及Action类的编写、注解的使用、客户端JavaScript的实现以及可能的Struts2配置文件的配置。通过`FileUploadAction`和`FileDownloadAction`,我们可以处理文件的上传和下载...
在"struts2下利用jquery、ajaxfileupload实现无刷新上传文件"这个主题中,我们将探讨如何将这三者结合,创建一个高效的文件上传系统。 首先,要实现无刷新上传,我们需要在客户端使用jQuery和AJAXFileUpload插件。...
在这个项目中,Struts2的Action类(如PeBzzStudentAction.java)会接收到由ajaxfileupload发送的图片文件,进行必要的业务处理,如保存文件到服务器、裁剪图片等。Struts2通过配置Action Mapping和Result来指定请求...
总结,实现AjaxFileUpload+Struts2的多文件上传功能需要对前端JavaScript、HTML、CSS以及后端Java和Struts2的配置有深入理解。通过合理地组合这些元素,你可以创建一个高效且用户友好的多文件上传功能,使得用户在不...
在实际开发中,我们可能会用到一些第三方库,比如`ajaxfileupload.js`,这是一个专门用于文件上传的JavaScript库,它简化了Ajax上传的操作,提供了一些回调函数,方便我们在上传过程中处理进度、错误等问题。...
- `canPushToItv.js`和`ajaxfileupload.js`可能是用于前端交互的JavaScript文件,特别是`ajaxfileupload.js`可能是一个用于异步文件上传的库,如jQuery的AjaxFileUpload插件。 - 这些脚本负责捕获表单数据,发送...
在Struts中,文件上传通常依赖于`struts2-convention-plugin`和`struts2-plugins`中的`struts2-file-uploading`插件。这些插件提供了处理文件上传请求的Action和结果类型。首先,我们需要在Struts配置文件(`struts....
自己通过ajaxfileupload.js结合struts2实现图片上传文件,并通过jcrop和java图像处理功能实现了图片剪切的功能。该功能效果和新浪QQ的头像上传功能效果一样,在ie下可以正常使用 火狐下更换图片时效果样式会走形
在本文中,我们将深入探讨如何将jQuery插件AjaxFileUpload与Struts2框架结合,以实现异步图片上传的功能。这种技术在现代Web应用中非常常见,它提升了用户体验,允许用户在不刷新整个页面的情况下上传文件,特别是...
在IT行业中,构建一个...以上就是使用Ajax、jQuery、Struts和AjaxFileUpload实现有增删改功能的文件上传系统的核心知识和技术点。这个例子展示了如何利用现代Web技术提高用户体验,同时也体现了前后端分离的设计思想。
Struts2是一个流行的Java Web...总之,Struts2的文件上传和下载功能涉及到后端的Java处理、前端的JavaScript交互和Struts2框架的配置。理解这些组件的工作原理和协作方式,对于开发高效、健壮的Web应用程序至关重要。
【标题】:“AjaxFileUpload”是一个专为Struts2框架设计的Ajax上传组件,它旨在提供一种优雅且功能丰富的文件上传体验。 【描述】:在Web开发中,传统的表单提交方式往往会导致页面刷新,用户体验不佳。随着Ajax...