1

我有一个我下载的字节数组,它缺少文件扩展名。我需要给这个文件一个扩展名,在我的例子中它总是.gif,然后转换回一个字节数组。

我正在完成第一步:

FileContentResult file = File(imageList.Single(), "image/gif");

我不确定下一步该怎么做。FileContentResult 有一个字节数组类型的 FileContents 参数。我试过使用它,但它似乎不包含数据中的扩展名。

字节数组甚至包含扩展类型吗?这是我第一次和一个人一起工作,所以我对他们是什么以及我能用他们做什么的理解是缺乏的。

4

2 回答 2

0

image/gif是 Internet 上使用的一种 mime 类型,用于告诉客户端如何解释一组数据。

如果将数据保存到磁盘,则不需要。

于 2014-01-13T21:58:01.680 回答
0

我认为您对问题域的措辞可能有点误导。当您使用术语“下载”时,您的意思是“通过 http 连接检索”,还是“从磁盘文件或数据库字段读取(过去时)”?

我想是后一种情况——所以我会继续。

以这种方式提取的原始数据将没有文件名。为什么???文件名是指向文件系统中某些数据的指针。如果您有一个标有“绿色物品”的牛皮纸袋,并且您碰巧从袋子中取出了一个苹果,那么该苹果内部本质上就是将该苹果(原始数据)与标有“绿色物品”的袋子(指针)相关联.

由于您的代码引用了 FileContentResult,我推断您正在使用 MVC,并且您在控制器代码中,试图将字节数组传递回浏览器。

如果您看一下下面的链接,您可能会发现 FileContentResult 对象有一个名为“FileDownloadName”的简洁属性。这是您要设置文件名的地方 - 附加扩展名。

http://msdn.microsoft.com/en-us/library/system.web.mvc.filecontentresult(v=vs.118).aspx

于 2014-01-13T22:42:56.757 回答