c# - .NET WEB API 使用 FTP 在新的浏览器选项卡中打开图像文件
问题描述
我有一个使用 FTP 协议从其他站点下载图像的功能。但是现在我想将它打开到一个新标签中,而不是下载它。这是我下载它的 C# 代码。谢谢阅读
byte[] byteFTP = ftpclass.ReadFTPFile(results, ConfigCache.HostURL, ConfigCache.UserName, ConfigCache.Password);
if (byteFTP != null)
{
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
var dataStream = new MemoryStream(byteFTP);
response.Content = new StreamContent(dataStream);
response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = results;
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
response.Content.Headers.ContentLength = dataStream.Length;
return response;
}
解决方案
要允许在新选项卡中查看文件,您应该将Content-Disposition标头设置为"inline"
. 但是,根据文件类型,这仍然可以由浏览器决定。内联只是意味着将尝试显示它,然后再返回下载
推荐阅读
- linux - 显示名称中包含空格的文件大小
- iis - 如何在应用程序池回收期间关闭文件
- android - 领域模型不是此领域架构的一部分
- css - 设计不同的警报结果?
- ios - iOS 音乐库:如何判断给定的播放列表是否为文件夹
- reactjs - 将 MobX 状态树存储注入反应组件抛出错误
- r - 在R中使用正则表达式的某个字符串模式之后的所有第一个数字
- javascript - 如何从 Cloud Function 访问存储在 Firestore 中的 DocumentReference 对象?
- javascript - 单击当前标记时删除其他标记
- go - 函数 ioutil.WriteFile 的参数中的数字