azure - Azure 应用服务中的流文件丢失字节
问题描述
当我尝试使用 ASP.NET 核心和 ASP.NET 完整框架流式传输文件时,我遇到了一个非常不寻常的问题。
我一直在尝试使用在我的本地环境和本地 IIS 7 中工作的不同代码示例。但是,这些代码示例在应用服务中执行时效果不佳。下载完整的文件是不可能的。在每次执行中,我的文件都会丢失几个字节,从而导致文件损坏(下载时)。
由于我尝试了多个代码示例,因此这里没有提供代码片段。代码示例是从 stackoverflow 或官方文档中获取的。
解决方案
基本上我的代码有这个:
try
{
WebRequest req = WebRequest.Create("[URL here]");
WebResponse response = req.GetResponse();
Stream stream = response.GetResponseStream();
//...
}
catch (Exception)
{
MessageBox.Show("There was a problem downloading the file");
}
控制器
[HttpPost("Document")]
[Produces("application/octet-stream")]
[AllowAnonymous]
public async Task<IActionResult> Download([FromBody]DownloadDmsRequest data)
{
如果我在 MemoryStream 中接收流,我的文件将完全下载。我做了测试,将文件下载到内存中,然后将该文件上传到 blob 存储,文件上传成功,没有问题。
推荐阅读
- python - Matplotlib 为具有相同数据的图绘制不同的线
- flutter - 由于检查员的 Widget 模式,Provider 中的最后一个变量被设置了两次
- c# - 使用 gzip 压缩的 msgpack 序列化性能不佳
- c# - 复选框总是返回 false
- groovy - 从 jenkins 管道中的 groovy 脚本设置 influxdb 服务器详细信息
- python - 在 Pandas 中处理 csv 文件的结果中的 NoneType 值
- r - downloadHandler 在 tabPanel 的其他面板中执行失败
- python - Groupby 采样 pandas,如果适用,组保持低于 n
- r - 将数据框中的多列与外部向量进行比较
- compiler-optimization - 即使我禁用了所有内容,CPython 代码似乎也得到了优化