gpt4 book ai didi

jquery - 请求 header 在 IE 中不可用

转载 作者:行者123 更新时间:2023-12-01 07:23:59 26 4
gpt4 key购买 nike

我正在使用一个通过 Ajax 上传图像的插件。该插件的js源码为here .

如果您看到从 1200 开始的行,您会注意到:

// build query string
params = params || {};
params['qqfile'] = name;
var queryString = qq.obj2url(params, this._options.action);

xhr.open("POST", queryString, true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("X-File-Name", encodeURIComponent(name));
xhr.setRequestHeader("Content-Type", "application/octet-stream");
xhr.send(file);

所以基本上,上传的文件名可以作为 qqfile 参数或作为 header 变量:X-File-Name。这两种方法都可以在 FF/Chrome 中通过以下 ASP.NET MVC 代码完美运行:

public JsonResult AjaxUpload(String qqfile)
{

String fileName = System.Web.HttpContext.Current.Request.Headers["x-file-name"];
//rest of the code
}

但在 IE 中,这些都不起作用... header var 为 null(在调试中我清楚地看到该参数未发送)并且 1qqfile 始终为 "System.Web. HttpPostedFileWrapper".

有人知道如何解决 IE 的问题吗?

Ps:这个插件的Demo是here .

最佳答案

我终于能够做到这一点:

 public JsonResult AjaxUpload(HttpPostedFileWrapper qqfile)
{
//IE
if (qqfile != null)
{
fileName = qqfile.FileName;
}
else
{
fileName = System.Web.HttpContext.Current.Request.Headers["x-file-name"];
}
//rest of the code
}

似乎在 IE 中 HttpPostedFileWrapper 包含 fileName 和其他属性(而在其他浏览器中这是 null),很奇怪,我必须为 IE 做一个特殊情况。

关于jquery - 请求 header 在 IE 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828728/

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