我想实现将本地文件上传到服务器的简单功能。
网上很多都是使用jspsmart,或者commons-upload。
虽然方便,但都需要提供request对象,来获取上传文件的列表。
jspsmart是封装过的,只要调用com.jspsmart.upload.SmartUpload的upload的方法(但前提是由form提交过来的,应该也是使用的request)
commons-upload则需要调用DiskFileUpload的parseRequest(request)方法。我现在是想直接上传文件,不要使用request,直接一段代码把本地文件上传,文件名及路径都硬编码,不考虑动态。应该怎么办。比如在commons-upload中怎么手动设置上传文件列表,而不是从request中加载。

解决方案 »

  1.   

    inputstream outputstream  对流操作
      

  2.   

    我最近也是做了文件的上传和下载功能,用的是FormFile实现的,参考的例子
    http://www.suneca.com/article.asp?id=41
    可以解决乱码问题,值得一看!!
      

  3.   

    是的, 是有很多现成的工具。
    但这些工具都需要用户请求,有一个提交的过程,就是产生request对象,提交到后台(jsp或者servlet)
    我现在想做的是用户直接请求某个页面或者servlet就实现本地文件上传到了服务端。我曾尝试,使用jspsmart,自动提交form,但是我无法为<input type='file' 这个设初始值
    我还尝试使用commons-upload中的DiskFileUpload.getFileItemFactory().createItem(.....)的方法手动创建上传文件列表,但貌似不行。
      

  4.   

    [email protected]  我给你发一份!
      

  5.   

    不要使用request   试试用webservice
      

  6.   

    你的意思就是自动上传吧。。但是file控件是不允许js赋值的(为了安全)想想要是可以地自动赋值那盗取别人的文件简直轻而易举
    嘿嘿  不过告诉你哦    其实还是可以给file赋值的 不过比较麻烦
      

  7.   

    呵呵 朋友 能不能指点一下呢?[email protected] 或者 qq:79076879
      

  8.   

    其实你可以做个activex控件,或者applet实现这种功能,不过这些现在都严打了,呵呵。
      

  9.   

    嗯 已经找到一个解决方案了
    在网上普遍使用的上传方式上(文件选择页面选择文件,提交form到另一个页面,实现上传)做了修改:在文件选择页面上加了个层,把所有内容全部盖住,然后为盖住的form中的file  input赋初值(使用active空间的方式),然后自动提交form,完成上传。不过有些问题:
    1.要客户端打开avtive空间的安全限制
    2.由于是自动提交,需要做暂停,这个暂停时间也要设置合适,这就产生了不确定因素。
      

  10.   

    不向服务器发request还没见过怎么和service打交道的。