后台代码:
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>
分享到:
相关推荐
`multipart/form-data`是用于处理包含二进制数据(如文件)的表单提交的编码类型,但它默认情况下不支持传递额外的文本参数。 在描述中提到了使用Apache Commons IO和Commons Fileupload这两个Java库来解决这个问题...
在探讨“解决当FORM的ENCTYPE='multipart/form-data'时request.getParameter()获取不到值的方法”这一主题时,我们首先需要理解为什么在特定情况下,传统的`request.getParameter()`方法无法正常工作,以及如何通过...
在Java Web开发中,我们经常遇到表单提交数据的情况,特别是涉及到文件上传时,`<form>`标签的`ENCTYPE`属性通常会被设置为`multipart/form-data`。这是因为`multipart/form-data`允许在请求中携带二进制数据,如...
servlet上传 enctype="multipart/form-data" servlet上传 enctype="multipart/form-data
### multipart/form-data 参数传递 在Web开发中,`multipart/form-data`是一种用于发送表单数据的编码类型,尤其适用于处理文件上传。此编码方式能够使客户端浏览器将表单中的普通文本字段与文件字段一起发送到...
### 解决Java enctype "multipart/form-data" 文件上传传值问题 在Java Web开发中,处理文件上传是一项常见的任务。特别是当涉及到使用`multipart/form-data`作为表单的编码类型时,这种需求更为突出。本文将深入...
我们都知道要让form能提交文件,需要在form上指定enctype=multipart/form-data的attribute,这样才能上传文件,关于enctype的文章很多,就不再做解释。 问题是因为使用了MVC的Html.BeginForm()来输出表单代码,默认...
值得一提的是,在HTML中,表单上传文件时必须设置其enctype属性为multipart/form-data,因为默认值是application/x-www-form-urlencoded,这不支持文件上传。 JavaScript中,XMLHttpRequest Level 2引入了FormData...
multipart/form-data是另一种常用的编码格式,它将窗体数据编码为一条消息,页上的每个控件对应消息中的一个部分。这种编码格式可以上传文件,并且可以处理复杂的数据结构。 在实际开发中,我们需要根据具体情况...
本文介绍了Node Js 使用KOA处理form-data格式传输过来的文件,分享给大家。...form表单【注意:enctype=”multipart/form-data”】上传文件时,首先会将文件上传到你本机的temp目录,然后执行move_upload_file
阿贾克斯形式这是一个js事件监听器,可让您以最简单的方式使用ajax提交任何表单。 只需将类“ .ajax_form”添加到您的表单中,瞧,您的表单将开始... 只需将常规enctype =“ multipart / form-data”包含在表单元素中
2. **multipart/form-data**:当需要上传文件时,表单的`enctype`属性应设为`multipart/form-data`。这种方式将数据分割成多个部分,每个部分都有一个边界标识,这样可以同时发送文本和二进制数据(如图片)。每个...
<form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file1" /> <input type="file" name="file2" /> <!-- 可以有更多input文件域 --> <input type="submit" value=...
控件,form 表单需要设置 enctype=”multipart/form-data” 属性。比如: <body> <form action=UploadFile.php method=post enctype=multipart/form-data> <input type=file name=fileUpload /&...
form action= method=post enctype=multipart/form-data> 修改头像 <input type=file name=file></p> <p><input type=submit value=提交></p> </form> manage.py #文件上传的视图
本文实例讲述了Django框架文件上传与自定义图片上传路径、上传文件名操作。分享给大家供大家参考,具体如下: ...method=post enctype=multipart/form-data> 文件数据存储在request.FILES属性中 文件上传必须使用P
注意:Multer将不处理任何非多multipart/form-data ( multipart/form-data )。翻译该自述文件也可用其他语言提供:(中文) (韩文) (俄语) (巴西葡萄牙语)安装$ npm install --save multer用法Multer增加了...
同时,记得设置`<constant name="struts.multipart.saveDir" value="your/directory/path"/>`来指定临时文件的保存位置。 2. **Spring集成**: Spring主要负责依赖注入和业务逻辑处理。你需要创建一个Service层...
本文实例讲述了Django imgareaselect手动剪切头像的方法。分享给大家供大家参考。... method=post enctype=multipart/form-data>{% csrf_token %} <table border=0> {{form.as_table}} <td></td