后台代码:
public String cooperationFileUpload(HttpServletRequest req, User user) {
// SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
//String mediaId = su.getRequest().getParameter("fileup_mediaId" );//取单个参数单个值
//String cooperationId = su.getRequest().getParameter("fileup_cooperationId" );//取单个参数单个值
String mediaId ="";
String cooperationId = "";
String fileName="";
String newFileName ="";
int id = mediaCooperationFileDao.queryId();
/** 上传文件保存目录 */
File uploadPath = new File(Constants.COOPERATION_FILE_PATH);
if (!uploadPath.exists()) {
uploadPath.mkdirs();
}
/** 临时文件目录 */
File tempPathFile = new File(Constants.EXCEL_PATH + "temp");
if (!tempPathFile.exists()) {
tempPathFile.mkdirs();
}
/** 创建磁盘文件对象 */
DiskFileItemFactory factory = new DiskFileItemFactory();
/** 为对象赋值 */
/** 设置缓冲区大小 */
factory.setSizeThreshold(1024 * 1024 * 100);
/** 设置缓冲区目录 */
factory.setRepository(tempPathFile);
/** 创建文件获取对象 */
ServletFileUpload upload = new ServletFileUpload(factory);
/** 设置文件对象尺寸 */
upload.setSizeMax(1024 * 1024 * 100);
/** 得到所有的文件 */
List<FileItem> items = null;
try {
items = upload.parseRequest(req);
} catch (FileUploadException e) {
e.printStackTrace();
}
Iterator<FileItem> i = items.iterator();
while (i.hasNext()) {
try {
FileItem item = (FileItem) i.next();
// 检查当前项目是普通表单项目还是上传文件。
String fieldName = item.getFieldName();
if(item.isFormField()){
if (fieldName.equals("fileup_mediaId")) {
mediaId = item.getString();// 显示表单内容。
} else if (fieldName.equals("fileup_cooperationId")) {
cooperationId = item.getString();
}
}else if (fieldName.equals("fileName")) {
fileName = item.getName();
if (fileName != null) {
newFileName = fileName.substring(fileName
.lastIndexOf("\\") + 1, fileName.length());
newFileName= getSaveName(newFileName, id);
File savedFile = new File(uploadPath, newFileName);
System.out.println(savedFile.getAbsolutePath());
item.write(savedFile);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
MediaCooperationFile mcf = new MediaCooperationFile();
mcf.setId(id);
mcf.setFileName(newFileName);
mcf.setFilePath(uploadPath + "\\" + newFileName);
mcf.setCooperationId(Integer.parseInt(cooperationId));
mcf.setMediaId(Integer.parseInt(mediaId));
mcf.setCreator(user.getUserName());
mediaCooperationFileDao.insert(mcf);
return mediaId;
}
<form name="form_media_cooperation_fileup" id="dddd" action="/aMsite/media/cooperationFileUpload.jhtml" method="post"
enctype="multipart/form-data">
<input type="hidden" name="fileup_cooperationId" id="fileup_cooperationId"/>
<input type="hidden" name="fileup_mediaId" id="fileup_mediaId" value="${media.id}" />
<table>
<tr>
<td>
选择文件:
</td>
<td>
<input type="file" name="fileName" id="fileName" />
</td>
<td>
<input type="submit" value="上传" />
</td>
</tr>
</table>
</form>
分享到:
相关推荐
解决上传文件enctype= multipart/form-data 时无法传递其他参数的问题,以及项目全局编码问题。用的插件是commons io + commons fileupload
解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法 ?
servlet上传 enctype="multipart/form-data" servlet上传 enctype="multipart/form-data
解决当FORM的ENCTYPE="multipart/form-data" 时action方法或者控制层用request.getParameter()获取不到值的方法 ?
<form method="post" ENCTYPE="multipart/form-data"> file类型职务的普通参数传递到后台问题解决
我们都知道要让form能提交文件,需要在form上指定enctype=multipart/form-data的attribute,这样才能上传文件,关于enctype的文章很多,就不再做解释。 问题是因为使用了MVC的Html.BeginForm()来输出表单代码,默认...
解决java enctype multipart form-data文件上传传值问题 不使用jspsmartupload组件 可以轻轻松松 解决传值问题
本文介绍了Node Js 使用KOA处理form-data格式传输过来的文件,分享给大家。...form表单【注意:enctype=”multipart/form-data”】上传文件时,首先会将文件上传到你本机的temp目录,然后执行move_upload_file
阿贾克斯形式这是一个js事件监听器,可让您以最简单的方式使用ajax提交任何表单。 只需将类“ .ajax_form”添加到您的表单中,瞧,您的表单将开始... 只需将常规enctype =“ multipart / form-data”包含在表单元素中
multipart/form-data : 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。 text/plain : 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。 补充 form的enctype属性为编码方式,常用有...
注意:Multer将不处理任何非多multipart/form-data ( multipart/form-data )。翻译该自述文件也可用其他语言提供:(中文) (韩文) (俄语) (巴西葡萄牙语)安装$ npm install --save multer用法Multer增加了...
本文实例讲述了Django框架文件上传与自定义图片上传路径、上传文件名操作。分享给大家供大家参考,具体如下: ...method=post enctype=multipart/form-data> 文件数据存储在request.FILES属性中 文件上传必须使用P
form id="form1" runat="server" action="UserManageHandler.ashx" method="post" enctype="multipart/form-data"> 名称: <input type="text" name="uname" class="uname" /> 邮件: <input ...
跨域 跨域有三个条件,满足任何一个条件就是跨域 1:服务器端口不一致 2:协议不一致 3:域名不一致 解决方案: 1.jsonp ...form action=/ method=post enctype=multipart/form-data> <in
控件,form 表单需要设置 enctype=”multipart/form-data” 属性。比如: <body> <form action=UploadFile.php method=post enctype=multipart/form-data> <input type=file name=fileUpload /&...
注意:Multer将不处理任何非多multipart/form-data ( multipart/form-data )。 版本说明 fastify-multer 2.xx版本支持Fastify> = 3.0.0。 对于Fastify <3.0.0,请使用fastify-multer 1.xx版本 安装 $ npm ...
为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置了enctype为multipart/form-data,...
为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置了enctype为multipart/form-data,...
multipart / form-data格式,如RFC 7578所述。enctype = multipart / form-dataHTML表单以这种格式发布其数据。 通常在表单具有文件上载输入字段时使用此enctype,因为默认的application / x-www-form-urlencoded...