Ajaxを介して画像をアップロードするプラグインを使用しています。このプラグインのjsソースはここにあります。
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
パラメーターまたはヘッダー変数として使用できますX-File-Name
。これらの方法は両方とも、このASP.NETMVCコードを使用してFF/Chromeで完全に機能します。
public JsonResult AjaxUpload(String qqfile)
{
String fileName = System.Web.HttpContext.Current.Request.Headers["x-file-name"];
//rest of the code
}
しかし、IEでは、これらのいずれも機能しません...ヘッダー変数はnullであり(デバッグでは、このパラメーターが送信されなかったことがはっきりとわかります)、1qqfile
常に"System.Web.HttpPostedFileWrapper"
です。
IEでこれをどのように解決できるか知っている人はいますか?
追伸:このプラグインのデモはこちらです。