gpt4 book ai didi

c# - 重定向响应以下载文件

转载 作者:行者123 更新时间:2023-11-29 22:24:08 25 4
gpt4 key购买 nike

我有一个通用处理程序,我使用这个非常基本的 js 代码调用它:

    var formData = new FormData();

formData.append("fileId", this.model.get("id"));

xhr = new XMLHttpRequest();

xhr.open('POST', '/genericHandlers/DownloadFile.ashx');

xhr.onload = function () {
if (xhr.status === 200) {
// Do something here?
}
}

xhr.send(formData);

我的通用处理程序代码看起来没问题。基本上我正在尝试构建响应 header ,并且我认为当此处理程序返回时它会开始下载文件。

处理程序代码:

   var fileId = context.Request.Form["fileId"];

// File stored in the db as a byte array

var file = (from f in dataContext.OneEVA_Docs_File_Storages
where Equals(f.ID, fileId)
select f).FirstOrDefault();

context.Response.Clear();

context.Response.AddHeader("Content-Type", file.ContentType);
context.Response.AddHeader("Content-Length", file.ContentLength.ToString());

context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}; size={1}", file.Name, file.ContentLength));

context.Response.BinaryWrite(file.File_Image.ToArray());
context.Response.Flush();

context.Response.End();

XHR 请求完成正常。这是我返回的响应 header :

Cache-Control:private
Connection:Close
Content-Disposition:attachment; filename=Mikes File; size=1860113
Content-Length:1860113
Content-Type:image/jpeg
Date:Wed, 16 May 2012 14:08:01 GMT
Server:ASP.NET Development Server/10.0.0.0
X-AspNet-Version:4.0.30319

我错过了什么?我做错了什么?

最佳答案

这不会在浏览器中开始下载。使用 POST 请求很难实现。如果你只传递一个id,它不能是一个GET请求吗?然后你就做

document.location.href = '/genericHandlers/DownloadFile.ashx?id=' + this.model.get("id");

关于c# - 重定向响应以下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10620969/

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