0
我正尝试将基于Android的phonegap应用程序的图像上传到Google驱动器。我使用以下代码获取图像URI并使用phonegap文件传输插件上传到Google。我正在寻找如何使用phonegap API获取文件名。我使用代码获得的文件名和路径不会给我真正的文件路径和名称,它应该是“image.jpg”格式,而是以下面的格式给出 - content:// media/external/images/media/47 我已经搜索并发现有办法将URI转换为绝对路径(Get filename and path from URI from mediastore),但都是本地代码。我正在使用phonegap框架。从phonegap获取实际的文件名API
uploadFile: function() {
navigator.camera.getPicture(
uploadPhoto,
function(message) { console.log("Failed to get pic"+message); },
{
quality : 50,
destinationType : navigator.camera.DestinationType.NATIVE_URI,
sourceType : navigator.camera.PictureSourceType.PHOTOLIBRARY
}
);
function uploadPhoto(imageURI) {
console.log("File read"+imageURI);
var options = new FileUploadOptions();
//options.fileKey="file.png";
//options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
//options.fileName="googfile.png";
//options.mimeType="image/png";
var params = {};
params.uploadType = "media";
options.params = params;
var headers={'Content-Type': 'image/png', 'Authorization': 'Bearer '+localStorage.access_token};
options.headers = headers;
var ft = new FileTransfer();
//console.log("File name ="+options.fileName);
//console.log("File transfer URI ="+imageURI);
ft.upload(imageURI, encodeURI("https://www.googleapis.com/upload/drive/v2/files"), win, fail, options);
}
function win(resp) {
console.log("Code = " + resp.responseCode);
console.log("Response = " + resp.response);
console.log("Sent = " + resp.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
}
};
是你能解决这个我也在看这个? – greaterKing
@greaterKing。我自己找到了答案,并在下面提到。欢迎任何评论。 – sarfaraz