import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class PageDto extends ActionForm {
// 保存FormFile对象
private Map<String, FormFile> myFiles = new HashMap<String, FormFile>();
public FormFile getFile(String name) {
return myFiles.get(name);
}
public void setFile(String name, FormFile myFile) {
if (myFile.getFileSize() > 0 && StringUtils.isNotBlank(name)) {
// 上传文件的字节数大于0,则上传这个文件
myFiles.put(name, myFile);
}
}
public Map<String, FormFile> getFileMap() {
return myFiles;
}
}
/**
* 上传图片
* @param request
* @param form
* @return
* @throws Exception
*/
private boolean uploadImage(HttpServletRequest request,ActionForm form) throws Exception{
String picFileName = "";
try{
PageDto dto = (PageDto) form;
Map<String, FormFile> files = dto.getFileMap();
System.out.println("files=" + files == null? "null" : files.size());
Set set = files.keySet();
String picUrl = "";
if (files != null && files.size() > 0) {
Iterator<Entry<String,FormFile>> itr = files.entrySet().iterator();
while (itr.hasNext()) {
Entry<String,FormFile> entry = itr.next();
FormFile item = entry.getValue(); // 获取FormFile对象
picFileName = item.getFileName(); // 获取上传图片的名字
System.out.println(">>>>>>>>>>>>>>>>>" + picFileName);
picUrl = PicManager.picStandardSave(picFileName, item.getInputStream());
if("failure".equals(picUrl)){
return false;
}
}
}
}catch(Exception e){
e.printStackTrace();
}
return true;
}
<input value="上传" type="file" name="file(pic1)" id="pic1"/>
<input value="上传" type="file" name="file(pic2)" id="pic2"/>
file控件的名字写成name="file(pic1)",后台会转换成Map<String, FormFile>
分享到:
相关推荐
这个案例是 html5的input file控件将文件上传到后台。
用.Net的File控件上传文件的解决方案 在本文中,我们将讨论如何使用.Net的File控件上传文件,并解决大文件上传问题。 一、上传大文件的解决方案 在上传大文件时,我们可能会遇到各种问题,例如超时、文件大小限制...
一个file控件实现上传多个文件到服务器,并且导入数据库中并且页面无刷新(附带所需要的js和java包)
控件UpdloadFile文件上传eg: string newfilename = file_uploadid.FileName; string size = file_uploadid.PostedFile.ContentLength.ToString(); string type = file_uploadid.PostedFile.ContentType; string ...
net使用FileUpLoad控件上传文件. net使用FileUpLoad控件上传文件. net使用FileUpLoad控件上传文件.
控件提供试用功能,没注册的控件除上传文件大小上有所限制(3M),没任何功能上和时间上的限制。如果您是试用,“127.0.0.1”和“localhost”作为FTP服务器时,在功能上注册和没注册是没有任何区别。 11.软件包里...
文件上传控件的使用,一段可执行的代码。教你如何实现单文件上传
这是一个隐藏 html file 控件上传图标文件的示例,功能齐全,包括: 1. 隐藏 file 控件 2. 上传文件不刷新整个页面 3. 上传成功后后台调用前台的js函数,更新 img 中的src,实现用上传图标文件 更新 img 中图片的...
fileDataName :设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据。默认为Filedata method : 提交方式Post 或Get 默认为Post scriptAccess :flash脚本文件的访问模式,如果在本地测试设置为...
json = "{\"statusCode\":\"300\",\"message\":\"上传的文件超过了3000M,请重新选择\",\"navTabId\":\"nav6\",\"rel\":\"\",\"callbackType\":\"\",\"forwardUrl\":\"\"}"; return json; } } } } catch ...
NULL 博文链接:https://weistar.iteye.com/blog/2206977
一直以来纠结于这个问题。今天闲来上网搜索了一下这个问题。终于知道答案。是onchange事件。经过本人测试,可用。还有说onpropertychange也可以。经chrome浏览器测试,无效果。不知道是什么原因。
NULL 博文链接:https://njm.iteye.com/blog/1908082
NULL 博文链接:https://xace.iteye.com/blog/713126
FTP(File Transfer Protocol)是一种常用的文件传输协议,可以用来上传文件到服务器。下面是一个使用 FTP 上传文件的示例代码: ```csharp using System; using System.Net; using System.IO; public class ...
一个漂亮的文件上传样式的HTML源码,代替原来丑陋的文件上传按钮和长条文本框
asp.net多文件上传使用html控件的File控件,在form中就需要加入【 enctype=”multipart/form-data”】。 up3.aspx文件代码 代码如下: <%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”up3....
file上传文件,比net自带的控件要好用,用脚本写的,速度很快