无法从Android 4.4中的图库上载图像
我正在尝试上传图片,这些图片是从画廊获得的,代码如下无法从Android 4.4中的图库上载图像,android,cordova,android-4.4-kitkat,Android,Cordova,Android 4.4 Kitkat,我正在尝试上传图片,这些图片是从画廊获得的,代码如下 //imageUri is a uri which is gotten by Phonegap camera API //(use option Camera.PictureSourceType.PHOTOLIBRARY&&Camera.DestinationType.FILE_URI) var imageUri = getImageUri(); //handlerUri is a uri to upload the i
//imageUri is a uri which is gotten by Phonegap camera API
//(use option Camera.PictureSourceType.PHOTOLIBRARY&&Camera.DestinationType.FILE_URI)
var imageUri = getImageUri();
//handlerUri is a uri to upload the image
var handlerUri = getHandlerUri();
window.resolveLocalFileSystemURI(imageUri, function(fileEntry) {
fileEntry.file(function(fileObj) {
var fileName = fileEntry.name;
var options = new FileUploadOptions();
options.headers = {
Connection: "close"
};
options.fileKey = "uploadfiles";
if (fileName.indexOf('/') > -1) {
options.fileName = fileName.substr(fileName.lastIndexOf('/') + 1);
} else {
options.fileName = fileName;
}
options.mimeType = "image/jpeg";
options.chunkedMode = false;
options.params = params;
var ft = new FileTransfer();
imageUri = fileEntry.nativeURL;
ft.upload(imageUri, handlerUri,
function(r) {
if (r.response == "success") {
} else {
}
},
function(error) {},
options, true);
}, function(error) {
});
}, function(error) {
});
对于Android 4.4以下的设备,该应用程序运行良好。然而,在Android 4.4 KitKat中,相同的代码不再有效
注意:经过长时间上传后,我在LogCat中只收到了一个代码3错误。有人说代码3是一个连接错误,但这不应该是我的情况,因为相同的代码在Android 4.4下工作得很好
有人能帮忙吗
谢谢。我终于自己解决了。似乎根目录的文件名是错误的。 当我用旧代码得到文件名时
var fileName = fileEntry.name;
文件名为7962,不正确
我使用以下代码来解决此问题:
var fileName = fileEntry.nativeURL.substr(fileEntry.nativeURL.lastIndexOf('/') + 1);
谢谢大家。你能缩进/格式化/整理你的代码吗?LogCat?代码3中显示的任何错误都是连接错误,不管它是否在其他android版本中工作。当捕捉到IOException时调用CONNECTION_ERR,因此服务器不会返回200。它可能是文件传输插件上的一个bug,填补cordova JIRA上的一个问题。@jcesarmobile有没有在本机插件中查找根目录的建议?我已经创建了一个原生Android项目,我想我可以修复这个bug。不知道如何修复,但你可以登录conn.getResponseCode();在FileTransfer.java上查看服务器的响应代码,这可能会帮助您定位problem@jcesarmobile谢谢,我会尝试一下,稍后再来。非常感谢你,杰克,它在安卓4.4中为我工作