网络服务器有保存文件,将收到的图片保存到网络服务器上的文件夹
對于類似的功能(從裝載Android的照片與Servlet),這里的Android客戶端的代碼,我使用(在這里發帖而稍加編輯):
URI uri = URI.create(// path to file);
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.STRICT);
// several key-value pairs to describe the data, one should be filename
entity.addPart("key", new StringBody("value"));
File inputFile = new File(photoUri.getPath());
// optionally reduces the size of the photo (you can replace with FileInputStream)
InputStream photoInput = getSizedPhotoInputStream(photoUri);
entity.addPart("CONTENT", new InputStreamBody(photoInput, inputFile.getName()));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(uri);
HttpContext localContext = new BasicHttpContext();
httppost.setEntity(entity);
HttpResponse response = httpclient.execute(httppost, localContext);
和這里的代碼來接受它。首先,一定要標記您的servlet類為支持多消息:
@MultipartConfig
public class PhotosServlet extends HttpServlet
然后身體的相關部分:
HttpEntity entity = new InputStreamEntity(request.getPart("CONTENT").getInputStream(), contentLength);
InputStream inputFile = entity.getContent();
// string extension comes from one of the key-value pairs
String extension = request.getParameter(//filename key);
// first write file to a file
File images = new File(getServletContext().getRealPath("images"));
File filePath = File.createTempFile("user", extension, images);
writeInputDataToOutputFile(inputFile, filePath); // just copy input stream to output stream
String path = filePath.getPath();
logger.debug("Wrote new file, filename: " + path);
希望它能幫助。
總結
以上是生活随笔為你收集整理的网络服务器有保存文件,将收到的图片保存到网络服务器上的文件夹的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础学习总结
- 下一篇: Python学习 :面向对象 -- 成员