【发布时间】:2021-08-07 17:21:24
【问题描述】:
我们有两个应用程序:一个 C# REST-API 和一个 Kotlin Android 应用程序,我们使用 Google Platform Cloud Bucket 来托管图像。
Android 应用会上传一张图片,但 C# REST-API 需要上传到谷歌云平台。
这是将文件上传到 Google Cloud Buckets 的有效 C# 代码:
[HttpPost]
[Route("upload")]
public IActionResult Upload()
{
var storageClient = StorageClient.Create(google_credentials);
string fileToUpload ="/Users/niel/Downloads/new_cat.jpg";
using (var fileStream = new FileStream(fileToUpload, FileMode.Open,
FileAccess.Read, FileShare.Read))
{
storageClient.UploadObject("test_storage_fotos", "new_cat", "image/jpeg", fileStream);
}
Console.WriteLine("uploaded the file successfully");
return Ok();
}
现在我需要将 fileToUpload 替换为 POST 请求中的内容。有没有办法做到这一点?图片来自 Android 应用 > C# API > Google Buckets?从 C# API 到 Google Buckets 的链接已经生效。
在 Kotlin 中有没有办法以某种方式获取图像的字节串,将其发布到我的 C# API,后者获取内容并将其放入 FileStream?我可以使用storageClient.UploadObject 上传FileStream 吗?有这种可能吗?
谢谢!
【问题讨论】:
-
您可以在 Android 中使用 Retrofit 来发送任何文件,此外,您应该有一个 Endpoint 来接收来自 Android 的文件。
-
但我不想真正拥有端点来保存文件。我想将文件的内容发送到服务器,然后服务器将其传递给 Google Buckets。
标签: c# android file-upload