c# - 从远程 IIS 服务器上传时,上传的文件没有内容
问题描述
我正在尝试使用 ASP.NET Core 3.0 将文件上传到 Google Drive,这是我上传文件的代码。
GData.File fileMetadata = new GData.File()
{
Id = null,
Name = Path.GetFileName(path),
MimeType = contentType
};
using (Stream stream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite))
{
FilesResource.CreateMediaUpload request = service.Files.Create(fileMetadata, stream, contentType);
request.Fields = "id";
request.Body = fileMetadata;
request.ProgressChanged += (uploadProgress) =>
{
Debug.WriteLine($"{uploadProgress.Status} {uploadProgress.BytesSent}");
};
request.ResponseReceived += (obj) =>
{
Debug.WriteLine($"File uploaded successfully {obj.Id}");
};
request.Upload();
}
我面临的问题是,当我在本地IIS 服务器上运行此方法时,它可以正常工作。在远程IIS 服务器上,此方法成功运行,但上传的文件中没有任何内容并显示0 大小
按照此链接进行测试: https ://oauthdemo.coredata.ca/
解决方案
经过一整天的挣扎,我终于解决了这个问题。这是由于临时文件夹。我FileStream
用来在临时文件夹中创建新文件。这是一个 A-Sync 调用,因此FileStream
无法创建该文件。
推荐阅读
- r - 复制列但在 R 中删除观察一行
- javascript - 在 Spring MVC 中向控制器发送 javascript 对象列表时出现问题
- flutter - Firestore runTransaction 永远不会运行
- c# - 如何检测游戏对象是在玩家的左侧还是右侧
- python - Kivy 小部件坐标与 collide_point 不正确
- android - 地点 ID 在新地点 API 可能性中返回 null
- azure - 为 cosmos DB 构建散列令牌签名
- javascript - 单击使用 Ajax 接收的锚链接时重新运行功能?
- c# - 为什么我的连接有问题?c# winsock error System.Runtime.InteropServices.COMException: 'Excepción de HRESULT: 0x800A9C54'
- wordpress - WPBakery Page Builder - 复选框不会保留 v6.xx 中的值