gpt4 book ai didi

javascript - 使用 FileContentResult 下载文件并使用 javascript 将其存储在客户端

转载 作者:行者123 更新时间:2023-12-01 15:18:28 25 4
gpt4 key购买 nike

我有这样的 MVC 路线:

public FileContentResult GetMedia(string media_md5)
{
// get media from DB here
processed_file_doc file_doc = getMediaFromDb(media_md5);

string filename = file_doc.Filename;
string filepath = file_doc.File_path;

byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
string fileName = filename;

FileContentResult file_result = File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName);

return file_result;
}
这个方法被javascript调用是这样的:
function DownloadMedia(row_id) {

filetable = $('#mytable').DataTable();
var data = filetable.row('#' + row_id).data();
filename = data['Filename'];

var handleSuccess = function (file) {
var a = document.createElement("a"),
file = new Blob([file], { type: "application/octect-stream" });

var url = URL.createObjectURL(file);
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
setTimeout(function () {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 0);
}

$.post("/MyController/GetMedia", { media_md5: row_id }, handleSuccess);
}
问题是使用此代码我只能正确下载 .txt 文件,例如,如果我尝试下载 .jpg,则无法打开图像。我检查了下载的两个文件,它们确实不同:
file differences
我已经验证该文件已打开并正确读取,但我不明白为什么一旦从客户端收到它就全部搞砸了。

最佳答案

System.Net.Mime.MediaTypeNames.Application.Octet
为每个文件选择正确的 MimeType

关于javascript - 使用 FileContentResult 下载文件并使用 javascript 将其存储在客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com