有一段时间以来我一直撞到墙上 - 希望能找到一些帮助!
目前正在搞乱Google Drive API并快速做一点概念离子混合应用程序。
流程如下:
- 用户在设备上登录Google
-User在设备上拍照
- 用户从设备上传图片
对Google的身份验证我已经实现了正常工作 - 返回的身份验证令牌在过期之前存储到localStorage 5分钟。
window.localStorage.setItem("access_token", result.access_token);
用户拍照然后将其存储到设备中然后我将ImageURI保存到范围变量中以供上传功能参考。
$scope.imgURI = "data:image/jpeg;base64," + imageData;
我已经有以下内容来处理上传到Google云端硬盘:
$http.defaults.headers.common.Authorization= "Bearer " + window.localStorage.getItem("access_token");
$http.post("https://www.googleapis.com/upload/drive/v2/files/?uploadType=media", {'title':'TestUpload.jpg', 'mimeType': 'image/jpeg', 'description':'Test Desc'})
.success(function(data) {
console.log('Upload successful');
})
.error(function(error) {
console.log('Upload failed');
console.log(error);
});
我对$ http.post功能稍有不熟悉,我不知道在哪里/如何格式化params以允许我附加图像文件,因为它目前只是创建什么似乎是驱动器上的空文件没有描述/信息,也没有附加文件。任何帮助都会非常赞赏。作为旁注 - 我可以从云端硬盘中删除文件,因此我100%确定正确处理了身份验证 - 我不确定在哪里添加$ scope.imgURI路径以启用附加功能图像文件。
干杯,
-Mike
答案 0 :(得分:0)
对于上传图像,您可能希望使用分块,可恢复的上传,因为它不是世界上最快的操作,当然还有移动设备,而不是最可靠的。
您可以查看https://github.com/pinoyyid/ngDrive/blob/d2954af867799f32fda02dcdf8f5db38442e1445/src/drive_s.ts第389行中的代码,或者您只需使用该库。
我有一个非常相似的angular1 / ionic费用应用程序,可以拍摄收据的照片并将它们上传到云端硬盘,所以很有可能。