使用API c#从web用户上传到Google Drive

本文关键字:Google Drive 用户 API web 使用 | 更新日期: 2023-09-27 18:08:50

最终我试图通过MVC . net网站从用户的文件系统上传文档到Google Drive,它利用了一个服务帐户。

我不确定我是否实现了适当的设计来完成上传,但是我在要上传的文件的路径上挂起了。

<标题> Web h1> 制器h1> ReadAllBytes语句出错。找不到"C:'Program Files (x86)'IIS Express'Map of Universe.txt"文件。文件名称正确,但路径不正确。
byte[] byteArray = System.IO.File.ReadAllBytes(_uploadFile);  
System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);

…Google Drive文件放到这里

然后从流上传文件。

FilesResource.InsertMediaUpload request = _service.Files.Insert(body, stream, body.MimeType);
request.Upload();

那么,我正在使用HTML文件帮助器的正确路径吗?如果是这样,有什么技巧可以让路径正常工作?此外,我希望能够支持最大500 MB的文件大小(如果有区别的话)。

使用API c#从web用户上传到Google Drive

如果你从用户选择的windows文件资源管理器对话框中获取文件名,那么你不应该使用下面的,因为它只会剥离文件名而没有路径进入你的上传文件变量,我假设虚假路径是你运行代码的地方,所以ReadAllBytes试图从文件名

路径读取

var _uploadFile = System.IO.Path.GetFileName(file.FileName)

只需修改它,使其具有ReadAllBytes

中需要使用的完整路径和文件名

var _uploadFile = file。文件名