我正在用原生应用程序和云应用程序组件构建一个非常简单的项目。android应用程序只需拍摄一张照片,然后通过POST将其上传到URL。然后,云应用程序将显示接收到的照片,这些照片存储在GAE数据存储中。
目前,android应用程序似乎正确发送照片,并从服务器接收HTTP OK。但是,当我在云应用程序上查看图像时,我没有收到图像,而且它似乎是一个空白条目。
此时,我不确定我的android应用程序组件是否无法正确发送图像,或者云应用程序组件是否无法接收图像。通过使用一个简单的表单将图片上传到上传url,我已经成功地测试了图片是否可以上传,这非常有效。
我现在看到的唯一一件事是,android代码在任何时候都不会设置“photo”的标题名,并将其分配给照片的数据。但是,我似乎不知道如何设置,我不相信这是这里唯一的问题。
我使用这个页面来帮助发送文件的android代码:如何在Android中使用超文本传输协议将文件从移动设备发送到服务器?
以下是重要的android代码:
private class SendPhotoTask extends AsyncTask<File, Void, Void> {
@Override
protected Void doInBackground(File... photoFile) {
if (photoFile != null) {
String urlToConnect = "http://example.com/upload";
// Use a static file for testing
File photoFile2 = new File("/storage/emulated/0/Pictures/PNG_20141206_190223_-1388180531.png");
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(urlToConnect);
InputStreamEntity reqEntity = new InputStreamEntity(
new FileInputStream(photoFile2), -1);
reqEntity.setContentType("binary/octet-stream");
reqEntity.setChunked(true); // Send in multiple parts if needed
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
Log.d(DEBUG_TAG, response.getStatusLine().toString());
} catch (Exception e) {
Log.d(DEBUG_TAG, "Exception Caught: " + e);
}
}
return null;
}
}
SendPhotoTask类使用以下命令执行:
new SendPhotoTask().execute(photoFile);
这是服务器上接受我的图像的非常简单的代码(使用webapp2用Python编写):
class Gallery(BaseRequestHandler):
def post(self):
gallery_name = self.request.get('gallery_name',
DEFAULT_GALLERY_NAME)
greeting = Photo(parent=gallery_key(gallery_name))
greeting.photo = base64.b64encode(str(self.request.get('photo')))
greeting.put()
query_params = {'gallery_name': gallery_name}
self.redirect('/?' + urllib.urlencode(query_params))
我做错了什么?
这是从Android App到App引擎(ServletJava)的响应。您应该使用多部分超文本传输协议请求:照片上传不正确GCS App Engine
它不是用Python编写的,但我希望它能帮助您!
我正在开发一个基于Firebase的聊天演示应用程序的Android应用程序。我面临的问题是,当我想传输图像时,我不知道如何处理这种情况。发送图像时,我在Base64中编码,并将其作为字符串发送。那么这里对图像的解码过程又会是怎样的呢?
然后我得到一个警告 在此行找到多个批注:-类型安全:未检查的从对象到ArrayList的强制转换-类型不匹配:无法从对象转换到ArrayList
如何从Android客户端上传图像到GAE(Google App Engine)数据存储? 尚未找到教程,已尝试了7天。
在我的代码中,我通过java套接字将图像从PC传输到手机。一切正常,图片保存到手机上,没有问题。但问题出现了,有没有可能在屏幕上显示图像而不保存? 服务器代码: 客户端代码:
传送与接收图像 经由无线LAN机能的Ad Hoc模式,与其他PSP™传递图像。 STEP 1:让PSP™准备接收图像 [接收者] 1. 进入(相片),选择图像想保存位置之图标后,按下按钮。 2. 选择[接收]。 准备接收图像。 STEP 2:传送图像 [传送者] 1. 进入(相片),选择想传送图像之图标后,按下按钮。 2. 选择[传送]。 显示正准备接收图像之PSP™的昵称。 3. 选择传送对象。
我在一个类中有一个imageView,在单击imageView时,会出现一个对话框,它有两个选项,可以从相机中获取图像,也可以打开设备的图像库。我想将图像从一个类发送到另一个类,这样它就可以出现在ImageView中。我搜索了很多小时,但我只得到关于从一个类到另一个类的文本数据发送。谁能告诉我从一个类到另一个类的图像发送? 这是来自sender类的代码,它将获取图像。 谢谢你的帮助