我想在我的Android应用中使用相机拍照,然后将其上传到我的GAE服务器。
这是我用来发送图片的代码:
var saveImageView = Titanium.UI.createImageView({
top : 0,
left : 0,
width : 'auto',
height : 'auto',
image : event.media,
});
win1.add(saveImageView);
imageToUpload = saveImageView.toBlob();
// toBlob, not toImage!! important...
var xhr = Titanium.Network.createHTTPClient();
xhr.onload = function() {
win1.remove(saveImageView);
// remove the temp view...
};
xhr.open('POST', 'not sure what goes here');
xhr.send({
image : imageToUpload
});
我不确定我应该将其用作服务器的网址。
此外,在GAE方面看起来应该是什么样的帮助将会非常有帮助。
但它已经4岁了,我根本无法让它工作。
答案 0 :(得分:1)
posting an image from titanium文章在4年后仍然有效。作者使用'http://10.1.10.15:8888/addimage'
,'not sure what goes here'
。这个答案假设您主要想要解释URL。
钛代码使用私有IP地址将图像从Android设备上传到专用网络上的AppEngine开发服务器(端口8888)。开发服务器必须接受来自不仅仅是localhost的传入连接才能工作,请参阅this answer以获得实现该目的的方法。您需要将IP地址替换为您自己的AppEngine开发计算机的IP地址,使用ifconfig,ipconfig或类似命令来查找。
AppEngine服务器的python代码应该可以不加修改地工作,这个答案假定你对它感到满意。
在软件全部与开发服务器配合使用后,您将部署到AppEngine云中的“papercuts-image-gallery”。在钛代码中,您应该用10.1.10.15:8888
(没有端口号)替换papercuts-image-gallery.appspot.com
部分,但保留URL字符串的其余部分。如果我是你,我会在钛应用程序代码中保留两个URL字符串,并使用标记选择一个,以便轻松地将客户端指向开发服务器或生产服务器,而无需重新编译。