刚写的上传处理方式,想从代码,效率上分析代码的质量。
参考资料:1.http://www.blogjava.net/lishunli/archive/2010/01/07/308614.html
ACTION部分:
private File upload;
private String uploadFileName;
...
//如果在上传新文件
if(upload != null) {
FileUploadUtils fUtil = new FileUploadUtils();
String path = fUtil.upload(upload, uploadFileName, "/uploadFiles/imperson/");
if(null != path) {
this.entity.setPhoto(path);
}
}
JSP 部分:
<input name="upload" type="file"/>
<s:if test="photo!=null">
<span id="zp"><img src="${basePath }/${photo}"/><a href="javascript:deleteFile('zp',photo);">删除</a></span><BR/>
</s:if>
JS 部分:
function deleteFile(obj,inputName){
$.dialog.confirm("您确定要删除该文件吗?",function(){
$("#"+obj+"").hide();
$("input[name='"+inputName+"']").val("");
})
}
上传类:
package com.scctt.impr.util;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
/**
* Description: 文件上传,需要绑定页面文件input框name为upload,在action中绑定File upload和String
* uploadFileName,如果需要调用多次则自己循环upload,并调用upload方法;
* 方法返回上传后文件中服务器存放的文件名;注意:要在自己的方法里保证上传文件不为空的时候,再去new此对象并调用方法,if(upload!=null){自己的方法内容}
* 例: //如果在上传新文件
* if(upload != null) { FileUploadUtils fUtil = new
* FileUploadUtils(); String path = fUtil.upload(upload, uploadFileName,
* "/uploadFiles/imperson/"); if(null != path) {
* this.entity.setPhoto(path); } }
*
* 如有多个文件需要上传,那么绑定的时候,请把上传的输入框的name设置好,比如第一个上传输入框的name是upload,那么对应的文件名为uploadFileName,其他同理。具体参考下例:
* private File upload; private String uploadFileName; private File upload1;
* private String upload1FileName; private File upload2; private String
* upload2FileName;
*
* @author WN
* @date 2012-8-24
* @version 1.0
*/
public class FileUploadUtils {
/**
* Description:上传方法,注意设置好folder属性,设置好后直接可以使用
* @param upload 文件
* @param uploadFileName 文件名
* @param folder 文件目录
* @return
* @author WN
* @update [日期YYYY-MM-DD] [更改人姓名][变更描述]
*/
public String upload(File upload, String uploadFileName, String folder) {
String path = null;
if(upload != null) {
String targetDirectory = ServletActionContext.getServletContext().getRealPath(folder);//
String realName = UUID.randomUUID() + uploadFileName.substring(uploadFileName.lastIndexOf("."));
File target = new File(targetDirectory, realName);
try {
FileUtils.copyFile(upload, target);
path = folder + realName;
//System.out.println("文件已上传至:"+targetDirectory);
}catch(IOException e) {
e.printStackTrace();
}
}
return path;
}
}
分享到:
相关推荐
Java开发案例-springboot-09-整合七牛云实现文件上传-源代码+文档.rar Java开发案例-springboot-09-整合七牛云实现文件上传-源代码+文档.rar Java开发案例-springboot-09-整合七牛云实现文件上传-源代码+文档.rar ...
Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源代码+文档.rar Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源代码+文档.rar Java开发案例-springboot-10-整合MinIO实现文件上传与下载-源...
HECO标准智能合约-代码功能后面注释已备注-欢迎学习及使用
Linux运维-运维课程MP4频-05容器-88代码自动发布系统介绍-项目代码上传至gitlab-
----------示例包括: ...文件上传 ---------- 使用axis2通过自编写的server端生成wsdl,通过wsdl生成服务(aar,将aar文件放入tomcat/webapps/axis2/WEB-INF/services下),再通过wsdl生成客户端,通过客户端调用服务
王正林精通MATLAB科学计算源代码-《精通MATLAB科学计算》-------源代码.rar 上传个附件给大家,蛮好的,呵呵 王正林 龚纯 何倩等编著 《精通MATLAB科学计算》(第二版) 2010年6月 附件为这本书的大量科学...
亚马逊开店系列-产品上传----如何发布没有全球贸易项目代码(UPC、EAN、JAN 或 ISBN)的商品.pdf
该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! ...
源代码-纯属印象―ASP无组件上传.zip 源代码-纯属印象―ASP无组件上传.zip 源代码-纯属印象―ASP无组件上传.zip 源代码-纯属印象―ASP无组件上传.zip 源代码-纯属印象―ASP无组件上传.zip 源代码-纯属印象―ASP无...
源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件 v2.1.zip 源代码-flash上传头像剪裁预览组件...
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载...
该资源内项目源码是个人的毕业设计作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2...
在实际开发中,有这样的业务,一套代码需要部署多个小程序,上传代码时候绝对上传到手软,虽然可以接入微信服务商,但是服务商有数量限制,好在微信小程序提供了miniprogram-ci代码上传功能,这里使用koa将...
以下是对该"文件选择上传示例代码"的详细解释: 1. **文件选择**: - Android提供了多种方式让用户选择文件,如使用系统自带的`Intent.ACTION_GET_CONTENT`意图,这会启动一个文件选择器,允许用户从设备存储中...
2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行成功,功能ok的情况下才上传的。 3、适用对象:计算机,电子信息工程、数学等专业的大学生...
安卓视频上传与下载 核心代码: if (localUrl == null) { localUrl = Environment.getExternalStorageDirectory() .getAbsolutePath() "/VideoCache/" System.currentTimeMillis() ".mp4"; } Log.d("localUrl...
该资源内项目源码是个人的课程设计作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2...
源代码-带进度条免组件全功能文件上传和管理系统 v1.0.zip 源代码-带进度条免组件全功能文件上传和管理系统 v1.0.zip 源代码-带进度条免组件全功能文件上传和管理系统 v1.0.zip 源代码-带进度条免组件全功能文件上传...
这是从mathwork上下载的NSGA-3的代码,自己写的注释。因为也没有完全弄懂代码,所以有些地方空着没写... 另外,这是开源资源,纯粹为了学术交流,个别人不要拿去重复上传。CSDN设置了最低积分限制,想免费都不行了。
该源码包是goahead公司的web服务器源代码中关于文件上传的补丁代码。如果使用goAhead作为嵌入式web服务器,并要实现文件上传功能,则需要打该补丁。本人利用该补丁源码在goAhead-2.5版本中实现了文件上传功能。