一个web程序:一个上传的页面,一个图片处理的Servlet
用过SmartUpload组件上传图片,但是他是直接把上传的图片保存到了服务器的硬盘上,我的想法是这样的:
选择要上传的图片,用最简单的流的方式上传,然后服务器的Servlet用流接受图片,先不保存原图,先把原图处理一下,然后保存处理后的新图。现在处理图片部分可以了,就是上传部分一时还不止怎么做?
现在的思路是<html><input type="file" name="image"><上传>
这样选好了上传图片怎么往流里写传给服务器呢?
小弟愚笨,大家来拍拍吧。

解决方案 »

  1.   

    不借助组件貌似还是要借助第三方jar包 参考http://jefferson.javaeye.com/blog/35181
      

  2.   

    客户端把图片转成(output.write)流或者byte数组,服务器端接收流或者byte数组,然后根据流和数组创建图片(这个过程也是反序列化的过程)
      

  3.   

    使用 multipart/form 类型,浏览器会自动地往 form 的 action 所指的数据流中写数据。你要自己实现的话,稍微有点麻烦,建议先去看一下相关的 RFC 协议。
      

  4.   

    一般不建议重复去发明轮子。虽然 JspSmartUpload 组件连官网都没有了,但是现在还有很多优秀的上传组件,比如:Apache 的 FileUpload、O'Reilly 的 COS 等等。
      

  5.   

    去查查http协议中的POST方法传文件时是怎么封装的,你把封装在里面的文件抽取出来即可
      

  6.   

    谢谢各位了,本来以为很简单,查些资料看了也挺复杂,所以我打算别的方式:
    用smartUpload把图片传到服务器去保存,在对图片进行操作,毕竟客户上传的原图是要保存的,以免出些问题。
    谢谢各位支持。
      

  7.   

    String ls_savePath = uploadBean.getPathInfo(session.getServletContext().getRealPath("uploadFiles/"), "PATHWITHSLASH");楼主看看,有帮助没