use*_*335 5 java servlets file-upload http
我正在编写一个Java桌面客户端,它将使用post请求通过线路将多个文件发送到servlet.在servlet中,我从请求中获取输入流以接收文件.当从流中读取文件时,servlet将逐个文件写入磁盘.
该实现有几个要求:
我曾考虑在流中插入标记,因此我知道一个文件何时结束而下一个文件何时开始.然后我编写一些代码来解析servlet中的流,并开始编写适当的下一个文件.
这是事情......当然有一个图书馆可以做到这一点.我看过apache的公地,一无所获.Commons File Upload很有意思,但由于上传来自Java应用程序,而不是浏览器,它只能解决接收端,而不是发送.
对库的任何想法都可以轻松地允许跨单个流进行多个文件传输,即使对于非常大的文件也具有固定的内存期望?
谢谢.
只需multipart/form-data在POST请求正文中使用HTTP 编码即可.它在RFC-2388中描述,是通过HTTP上传(多个)文件的标准方式.
你可以java.net.URLConnection像这个迷你教程中描述的那样做,尽管它会产生很多样板代码.一种更方便的方法是使用Apache Commons HttpClient.
在servlet方面,您可以使用Apache Commons Fileupload以通常的HTTP方式处理上传的文件(或者当您已经使用Servlet 3.0时HttpServletRequest#getParts(),请参阅此答案以获取示例).
| 归档时间: |
|
| 查看次数: |
4441 次 |
| 最近记录: |