哎呀最近焦头烂额做了一个博客。。忙了一个多月了才做到相册模块,但是做到上传图片这又卡住了。。关于无刷新批量上传图片该如何实现呢?请大家给个思路上传图片时带有预览功能,动态添加图片,但是到上传时不知道该怎么去做了用ajax吧,不能上传文件,看到网上说的伪ajax上传,也就说用iframe实现,但是批量又不现实,想问问大家做到批量上传是如何实现的?我前台用的jquery,后台用的是ssh框架该如何实现呢?百分赠送。。

解决方案 »

  1.   

    用AJAX 可以的 你前台只管提交 后台处理完了给你一个标志
      

  2.   

    jquery批量上传很简单 jqueryUpload
      

  3.   

    后台可以用commons 上传处理
      

  4.   

    我想知道你是怎么提交的?直接提交表单,那确实做到了批量上传文件,但是如何做到动态显示上传完成,并对一个个文件的上传成功与失败做出判定?ajax怎么用?我更想知道,ajax只能传送文本数据,但是文件是按照二进制字节流来传递到服务器的,我想知道ajax怎么来做?
      

  5.   

    你是不是用struts2呀?struts2上传图片很方便的呀。你自己找些资料看看。
      

  6.   

    批量可以只是网页上增加了一个新增按钮,点击的时候就是增加一个input type="file"的控件啊,这些只是JS技巧而已
    或者你可以使用Flash上传,这个也是比较方便的。
    至于说无刷新也很简单,只是在你页面上嵌入一个iframe,实际提交的是这个iframe就没有任何问题了(如果使用Flash我记得好像连iframe都不用吧)
      

  7.   

    嗯。你上边说的我知道。可是iframe所谓的伪无刷新它好像是只能做到上传一张图片时的吧。。如果批量需要载入,怎么一个一个显示成功提示呢?
      

  8.   

    如果你要一个一个显示成功提示可以这样,
    首先在用户选择文件的时候有一个新增按钮,点击后就生成新的input type="file"按钮
    当用户提交到iframe页面时,主页面中使用setInterval(checkProgress, 100)这样开启定时器在服务器中接收文件时,我不知道你使用哪个接收的包如果是apache的commons-upload,里面有一个ProgressListener的,里面参数是long pBytesRead, long pContentLength, int pItems
    在每读取一次后就记得在session中
    这样在checkProgress中就可以利用ajax或者iframe方式,从session中获取到底上传到哪一个文件的百分比了
      

  9.   

    供参考,不知道能不能帮你:
    1、http://www.bumiu.cn/ju/zhishi/jquery+%E6%97%A0%E5%88%B7%E6%96%B0%E4%B8%8A%E4%BC%A0
    2、http://edu.seuuo.com/html/82/n-10082.html
    3、http://download.chinaprj.cn/detail/brsisbO
    4、http://topic.csdn.net/u/20071029/16/07503ea1-ac03-4d8a-b597-31da37a7fbdc.html
      

  10.   

    前台用的是jquery?? 那你还要问什么
    有个东西叫juqry插件 不知道你知道不
      

  11.   

    批量上传,你可以看看qq,或是百度空间的上传效果,一般都是个上传控件,多是flash做的。
      

  12.   


    谢谢哥们了。。现在用的uploadify。
      

  13.   

    jquery也行,用swfupload插件也可以
    都能实现你的需求
      

  14.   

    http://download.csdn.net/source/2607843
    LZ  我这有个,可以看下,不错的。
      

  15.   

    可以肯定的告诉你,除了ActiveX,别无它法。
    至于到底选flash还是applet..等等都可以。个人建议flash。因为flash被广泛支持。但我从来没用过flash的这种东西。
      

  16.   

    ajax用ifram且post方式提交,可以传文件、图片等。
    我用这种方式,可以同时上传三张图片。。(项目中只要求三张)