struts2多图片上传出现的问题,有的图片不能上传

有多幅图片,每幅图片单独上传可以,但多幅同时上传时,前面的有图片不能上传图片1:<inputtype="file"name="newspic">图片2:<inputtyp... 有多幅图片,每幅图片单独上传可以,但多幅同时上传时,前面的有图片不能上传
图片1:<input type="file" name="newspic">
图片2:<input type="file" name="newspic">
图3:<input type="file" name="newspic">
图片4:<input type="file" name="newspic">

public void copy(File myfile, String filepath)throws Exception{
try {
InputStream is=new FileInputStream(myfile);
OutputStream os=new FileOutputStream(filepath);

byte[] bt=new byte[4*1024];
int len=0;
while((len=is.read(bt))>0){
os.write(bt, 0, len);
}

os.close();
is.close();

} catch (Exception e) {
e.printStackTrace();
}
}

public String savenews() throws Exception{
String picname=""; //上传后的图片名

MyJava ds=new MyJava();

if(!newspic.isEmpty()){ //newspic为input中name的名称
try{
String path=
ServletActionContext.getServletContext().getRealPath("/upload/newspic");

for(int i=0; i<newspic.size(); i++){
picname=fileName.get(i); //图片原名

//如果换成下面的文件名,前面的图片不能上传
//picname=ds.dateToString()+ds.subFileName(fileName.get(i));
//ds.dateToString()把日期转换
// ds.subFileName()取得图片的后缀名(包括后缀名之前的点)

String filepath=path+"/"+picname;

copy(newspic.get(i), filepath);

}
------------------
public class MyJava {
public String dateToString(){
Date nowDate=new Date();
SimpleDateFormat sf=new SimpleDateFormat("yyyyMMddHHmmssSSS");
String sDateString=sf.format(nowDate);
return sDateString;
}

public String subFileName(String fileName){ //
int begin=fileName.lastIndexOf(".");
return fileName.substring(begin);
}
}

问题出在picname=ds.dateToString()+ds.subFileName(fileName.get(i));
有多幅图片,每幅图片单独上传可以,但多幅同时上传时,前面的图片不能上传
已经解决了,原来是图片文件名重合问题,当我把日期转换为yyyyMMddHHmmssSSS时
出现重名,
展开
 我来答
hyz4566758
2013-04-12 · TA获得超过264个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:128万
展开全部
建议页面使用jquery uploadify上传插件 那可以用UUID来命名
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式