从.Net上传文件到Google云端存储
问题描述:
我们需要找到一种方法来随机从随机PC上随机地上传Windows文本和文件。我们目前通过Windows桌面.net exe程序的FTP API执行此操作。谷歌似乎不支持这种类型的访问 - 我错过了什么?从.Net上传文件到Google云端存储
gsutil
,Platform SDK和其他外部Python工具不适用于我们。
解决方案需要使用Visual Studio for Windows Desktop构建。通过.Net HTTP的REST可以。
答
Google云端存储不直接支持基于FTP的上传。但是,GCS确实有.NET client library。你当然可以用它来上传对象。
有sample apps显示如何上传对象到该库的GCS。关键是:
private void UploadFile(string bucketName, string localPath,
string objectName = null)
{
var storage = StorageClient.Create();
using (var f = File.OpenRead(localPath))
{
objectName = objectName ?? Path.GetFileName(localPath);
storage.UploadObject(bucketName, objectName, null, f);
Console.WriteLine($"Uploaded {objectName}.");
}
}
我试图尽可能避免Google Cloud SDK - 特别是对于开发的程序。如果云.net API调用gsutils,它将不适用于我。云.net API可以在Windows桌面程序中使用,而不依赖任何依赖性? – rheitzman
不理解你的问题。它不需要gsutil或任何其他外部依赖项。 NuGet包确实列出了一些包作为依赖关系,这是非常正常的。 –
Google.Cloud.Storage.V1的页面显示,需要安装SDK并进行CLI命令验证。我需要在应用程序运行的所有桌面上执行此操作吗? – rheitzman