概述
借助Android内置的HttpClient API的MultipartEntity类,将其作为multipart/form-data请求发送.
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://example.com/uploadservlet");
MultipartEntity entity = new MultipartEntity();
entity.addPart("fieldname", new InputStreamBody(fileContent, fileContentType, fileName));
httpPost.setEntity(entity);
HttpResponse servletResponse = httpClient.execute(httpPost);
然后在servlet的doPost()方法中,使用Apache Commons FileUpload提取零件.
try {
List items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (item.getFieldName().equals("fieldname")) {
String fileName = FilenameUtils.getName(item.getName());
String fileContentType = item.getContentType();
InputStream fileContent = item.getInputStream();
// ... (do your job here)
}
}
} catch (FileUploadException e) {
throw new ServletException("Cannot parse multipart request.", e);
}
I dont want to use apache commons
除非您使用的Servlet 3.0支持开箱即用的0033请求多部分/表单数据,否则您将需要根据RFC2388重新创建多部分/表单数据解析器.这只会长期困扰您.硬.我真的看不到您不使用它的任何原因.是无知吗?至少没有那么难.只需将commons-fileupload.jar和commons-io.jar放在/ WEB-INF / lib文件夹中,并使用上面的示例.而已.您可以找到另一个示例here.
最后
以上就是潇洒大叔为你收集整理的java servlet上传图片_java-Android到servlet图像上载以保存在服务器...的全部内容,希望文章能够帮你解决java servlet上传图片_java-Android到servlet图像上载以保存在服务器...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复