如何将二进制文件数据转换为具有给定 MIME 类型的物理类型
How to Convert Binary file data to a physical type with a given MIME Type
我有一个数据库 table (tbl_document),其中包含随着时间推移上传到其中的文件的详细信息。
我想编写一个控制台应用程序来将这些文件下载到给定位置。
table 有三个信息,我应该使用它们:
FileContents varbinary
格式;
每个文件的 MIME 类型 (contentType),例如 nvarchar 格式:
application/x-zip-compressed
application/msword
application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/pdf
application/pdf
在 MVC 中,我会做这样的事情来执行此任务:
public FileContentResult DownloadFile()
{
FileContentResult result = new FileContentResult(file.FileContents, file.ContentType);
result.FileDownloadName = file.FileName;
return result;
}
我尝试过其他方法,比如这个:
WebClient myWebClient = new WebClient();
FileContentResult result = new FileContentResult(fileContents, contentType);
我无法使用上述任何方法真正保存文件。请你帮忙。
非常感谢。
其实我是这样解决的:
// fileContents is the binary file being downloaded; I didn't need to use the MIME Types
MemoryStream ms = new MemoryStream(fileContents);
//write to file
FileStream file = new FileStream(filePath, FileMode.Create, FileAccess.Write);
ms.WriteTo(file);
file.Close();
ms.Close();
我有一个数据库 table (tbl_document),其中包含随着时间推移上传到其中的文件的详细信息。
我想编写一个控制台应用程序来将这些文件下载到给定位置。
table 有三个信息,我应该使用它们:
FileContents varbinary
格式;
每个文件的 MIME 类型 (contentType),例如 nvarchar 格式:
application/x-zip-compressed application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document application/pdf application/pdf
在 MVC 中,我会做这样的事情来执行此任务:
public FileContentResult DownloadFile()
{
FileContentResult result = new FileContentResult(file.FileContents, file.ContentType);
result.FileDownloadName = file.FileName;
return result;
}
我尝试过其他方法,比如这个:
WebClient myWebClient = new WebClient();
FileContentResult result = new FileContentResult(fileContents, contentType);
我无法使用上述任何方法真正保存文件。请你帮忙。
非常感谢。
其实我是这样解决的:
// fileContents is the binary file being downloaded; I didn't need to use the MIME Types
MemoryStream ms = new MemoryStream(fileContents);
//write to file
FileStream file = new FileStream(filePath, FileMode.Create, FileAccess.Write);
ms.WriteTo(file);
file.Close();
ms.Close();