使用google drive Api上传图片文件

尝试使用驱动API和Xamarin(C#)通过我的应用程序从他的谷歌驱动器上的用户手机(Android)上传图像文件(已存在)。 有几种解决方案可供上传,但它们都显示为上传新文件..例如

Google Drive API实施Xamarin Android

使用Xamarin.Android将文件上传到google drive文件夹

@sushihangover给出的解决方案都创建了一个新的文本文件,然后通过v3 API上传。 我也查看了API,但无法对其进行排序。

使用google drive Api上传图片文件

您可以使用以下代码将图像文件上传到Google云端硬盘:

DriveClass.DriveApi.NewDriveContents(client).SetResultCallback(new System.Action((result)=> { //Create MetadataChangeSet MetadataChangeSet metadataChangeSet = new MetadataChangeSet.Builder() .SetTitle("Test.jpg") .SetMimeType("image/jpeg").Build(); var contents = result.DriveContents; //push the bitmap data to DriveContents bitmapFromYourPicture.Compress(CompressFormat.Jpeg, 1, contents.OutputStream); IntentSender intentSender = DriveClass.DriveApi .NewCreateFileActivityBuilder() .SetInitialMetadata(metadataChangeSet) .SetInitialDriveContents(contents) .Build(client); StartIntentSenderForResult(intentSender, 2, null, 0, 0, 0); })); 

如果你通过使用意图选择图像图片,你可以得到像这样的图片Bitmap

 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == 0) { var uri = data.Data; System.IO.Stream image_stream = ContentResolver.OpenInputStream(uri); Bitmap getBitmap = BitmapFactory.DecodeStream(image_stream); } }