所谓动态,应该就是用户要求的数量.
设一个增加附件数量的button,让用户决定个数.
设一个增加附件数量的button,让用户决定个数.
解决方案 »
- hibernate关联查询异常
- Struts整合Spring找不到Servlet Action 请高手赐教
- 在iReport报表中做图表,子标题和标题的字体\字号设置不生效,请问如何解决
- 看到了这个,[Java EE在SOA世界中的消亡? ]
- 串行化是什么意思有什么用途??高手给在下点拨一下巴
- jcreater3.00在编辑时如何设置就可以有提示功能呀。
- 求助怎么配置J2EE(不够再加)
- 程序调试时出现大量异常??(高手指点迷津:))
- jbuilder8 为什么不能存文件?
- 有人用javamail做过邮件群发的程序嘛?请进来
- 关于使用 jacob(java 与com交互的桥)操作word ,感受与大家分享(带源码)
- struts 标签
lshzfq(程序回归----->C++!) 你说的这个做法,我想过了,实现是没问题,但是不是很理想,163邮箱的多个附件是一次上传的。
k3179(螃蟹) :你说的那个,当然是要那样做的,用户想添加附件,就点击按钮,增加一个filepigengler(en) :你提到的,确实是一个思路。但是很少见到附件上传,用那样的形式。能不能来点实际的东西,比方说
Form怎么定义(数组,List???),
Action中怎么获取,
页面上标签怎么写?
javascript怎么写(这个部分我倒是想到如何实现了)
javascript你知道怎么写吧。
在Action中解析request.getServletInputStream,如果不想自己写,在网上下一个,这个太多了。
祝你好运!
String dirPath = getServlet().getServletContext().getRealPath("/")
+ "/upload";
Hashtable fileh = actionForm.getMultipartRequestHandler().
getFileElements();
for (Enumeration e = fileh.keys(); e.hasMoreElements(); ) {
String key = (String) e.nextElement();
try {
FormFile formfile = (FormFile) fileh.get(key);
String filename = formfile.getFileName().trim(); //文件名
if (!"".equals(filename)) {
//不同的浏览器传上的文件名可能有区别,IE的是全路径的,Firefox等是只包含文件名
//如果要按原文件名进行文件保存。自己在这里做下判断,
//在这里保存文件
InputStream ins = formfile.getInputStream();
OutputStream os = new FileOutputStream(dirPath +
File.separatorChar
+ filename);
int bytesRead = 0;
byte[] buffer = new byte[8192];
while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
ins.close(); }
} catch (Exception ex) {
logger.debug("出错了", ex);
}
}
感谢大家的回复。
Form部分:
public class MultiUploadForm extends ActionForm {
private List myFiles;
public MultiUploadForm(){
myFiles = new ArrayList();
//为了能够在页面初始显示一个file
myFiles.add(new UploadFile());
}
public List getMyFiles() {
return myFiles;
} public UploadFile getUploadFile(int index){
int size = myFiles.size();
if(index>size-1){
myFiles.add(new UploadFile());
}
return (UploadFile)myFiles.get(index);
}
public void setMyFiles(List myFiles) {
this.myFiles = myFiles;
}
}
public class UploadFile implements Serializable {
private FormFile file;
public FormFile getFile() {
System.out.println("run in uploadFile.getFile()");
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
}
需要的朋友,到http://blog.csdn.net/wts/看吧。
我帖到Blog上了。