【发布时间】:2017-06-11 13:19:01
【问题描述】:
我想将图片从我的应用(iOS 和 Android)发送到我的服务器。我的代码适用于小图片,但如果尺寸太大,当我发送数据时,什么也没有发生,应用程序变慢。 你能解释一下我的代码中的问题以及如何解决它吗?非常感谢:)
这是我的代码:
var attached_media = [];
var file_btn = Ti.UI.createButton({ title: L('select') });
file_btn.addEventListener('click',function(e){
Titanium.Media.showCamera({
success:function(e) {
if(e.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
attached_media.push(Ti.Utils.base64encode(e.media).text);
}
},
saveToPhotoGallery:true,
allowEditing: false,
mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO]
});
});
var send_button = Titanium.UI.createButton({
title: 'Send',
});
send_button.addEventListener('click',function(e){
var req = ......
req.send({ 'medias':JSON.stringify(attached_media), 'user_id':Ti.App.Properties.getInt('user_id')});
});
我删除了不必要的代码,因为它太长了! :)
【问题讨论】:
-
必须发送base64文件吗?可能请求大小超过了最大长度。 req 变量会很有趣,因为您没有显示任何有关设置的信息
-
您是否在后端使用 .NET Web API。我有类似的问题。
-
我没有设法上传我的文件,除非使用 base64 编码。在我的帖子字段中,我发送:'medias':JSON.stringify(attached_media)。我的后端是 PHP。但是 Image Factory 解决方案有效,所以我想我会保留它 :)
标签: android ios titanium appcelerator media