我正在编写一个简单的,没有UI(因此没有.jsp / .html文件),基于控制台的Java应用程序来读取文件中的图像文件路径,并将图像上传到Google App Engine上的示例照片Feed应用程序。
我正在使用Apache HttpClient向我的应用引擎应用程序发出URL连接和POST请求,这是我到目前为止的代码。
MultipartEntity multiPartEntity = new MultipartEntity();
multiPartEntity.addPart("photo", new FileBody(new File(filePath)));
multiPartEntity.addPart("title", new StringBody(comment));
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(uploadUrl);
post.setEntity(multiPartEntity);
HttpResponse response = client.execute(post);
这会上传文件,我可以在Blob Viewer中看到它。但是,文件的Content-Type设置为“application / octet-stream”。
我想将Content-Type设置为“image / jpeg”或“image / png”等,具体取决于图像类型。我尝试使用
稍微修改代码MultipartEntity multiPartEntity = new MultipartEntity();
multiPartEntity.addPart("photo", new FileBody(new File(filePath), "image/jpeg"));
multiPartEntity.addPart("title", new StringBody(comment));
但是这甚至无法将文件上传到Blob Viewer中,我仍然从应用程序servlet获得相同的响应。
有人可以帮我解决这个问题吗?