首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajaxFileupload多资料上传

2013-07-16 
ajaxFileupload多文件上传?js:?我后台是用的struts2,strtus2的上传是比较简单的,只要声明约定的名字,即可

ajaxFileupload多文件上传

?js:

?我后台是用的struts2,strtus2的上传是比较简单的,只要声明约定的名字,即可得到文件对象,和名称,代码如下:

package com.ssy.action;import com.opensymphony.xwork2.ActionSupport;import org.apache.commons.io.FileUtils;import org.apache.struts2.util.ServletContextAware;import javax.servlet.ServletContext;import java.io.*;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;/** * Created with IntelliJ IDEA. * User: Administrator * Date: 13-7-2 * Time: 下午4:08 * To change this template use File | Settings | File Templates. */public class Fileupload extends ActionSupport implements ServletContextAware {    private File[] gridDoc,caseDoc;    private String[] gridDocFileName,caseDocFileName;    private ServletContext context;       public String execute(){        for (int i = 0;i<gridDocFileName.length;i++)    {            System.out.println(gridDocFileName[i]);        }        for (int i = 0;i<caseDocFileName.length;i++)    {            System.out.println(caseDocFileName[i]);        }        //System.out.println(doc1FileName);        //System.out.println(doc2FileName);        String targetDirectory = context.getRealPath("/uploadFile");       /*         *这里我只取得  第一组的文件进行上传,第二组的类似        */ try{            for (int i = 0; i < gridDoc.length; i++) {                String targetFileName = generateFileName(gridDocFileName[i]);                File target = new File(targetDirectory, targetFileName);                FileUtils.copyFile(gridDoc[i], target);            }        }catch (Exception e){            e.printStackTrace();        }           return SUCCESS;    }    public File[] getGridDoc() {        return gridDoc;    }    public void setGridDoc(File[] gridDoc) {        this.gridDoc = gridDoc;    }    public File[] getCaseDoc() {        return caseDoc;    }    public void setCaseDoc(File[] caseDoc) {        this.caseDoc = caseDoc;    }    public String[] getGridDocFileName() {        return gridDocFileName;    }    public void setGridDocFileName(String[] gridDocFileName) {        this.gridDocFileName = gridDocFileName;    }    public String[] getCaseDocFileName() {        return caseDocFileName;    }    public void setCaseDocFileName(String[] caseDocFileName) {        this.caseDocFileName = caseDocFileName;    }    /**     * 用日期和随机数格式化文件名避免冲突     * @param fileName     * @return     */    private String generateFileName(String fileName) {        System.out.println(fileName);        SimpleDateFormat sf = new SimpleDateFormat("yyMMddHHmmss");        String formatDate = sf.format(new Date());        int random = new Random().nextInt(10000);        int position = fileName.lastIndexOf(".");        String extension = fileName.substring(position);        return formatDate + random + extension;    }}

?写到这里,我就有疑问了,之前的大神改的多文件,为什么还是取id,而且后台是怎么取的,我还是没怎么弄明白,我改的这个代码可行么?是不是存在bug呢?这个还有待考验,如果看出问题,请指出,共同学习

?

最后附上,我修改后的插件

1 楼 youjianbo_han_87 18 小时前   有没有bug,你运行几次不久知道吗,不过还是感谢分享出来,很多号称大牛这牛的,根本没有把实际用的代码贴出来。 2 楼 ssy341 11 小时前   youjianbo_han_87 写道有没有bug,你运行几次不久知道吗,不过还是感谢分享出来,很多号称大牛这牛的,根本没有把实际用的代码贴出来。
哈哈,还是需要纵观所有源码,这样才能万无一失……

热点排行