我正在使用Valums Ajax上传器.所有在Mozilla中运行良好的代码:
视图:
var button = $('#fileUpload')[0];
var uploader = new qq.FileUploader({
element: button,
allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'],
sizeLimit: 2147483647, // max size
action: '/Admin/Home/Upload',
multiple: false
});
Run Code Online (Sandbox Code Playgroud)
控制器:
public ActionResult Upload(string qqfile)
{
var stream = Request.InputStream;
var buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
var path = Server.MapPath("~/App_Data");
var file = Path.Combine(path, qqfile);
File.WriteAllBytes(file, buffer);
// TODO: Return whatever the upload control expects as response
}
Run Code Online (Sandbox Code Playgroud)
在这篇文章中回答:
但问题是,这在IE中不起作用.我找到了这个,但我无法弄清楚如何实现它:
IE不会在"request.InputStream"中发送流...而是从Request.Files []集合中通过HttpPostedFileBase获取输入流
此外,这里显示了这个人是如何做到的,但我不知道如何改变我的项目:
每当我运行我的应用程序时,我会在输出中找到真正"非常"奇怪的字符而不是相应的页面.现在我知道这是因为一些错误,但不幸的是错误并没有表现出它的自我,而只是产生奇怪的字符.
这是一个完整页面源代码的示例.
I?%&/m?{J?J??t??$ @ iG#) eVe ] f @ 흼 { { ; N' ?\fdl J ɞ〜|!?"安永')=y6hurjfŲIU<[2O 2_ ]i ߴ 肴] l g ~ O ,[f Wyq1o- z QS iUV I M ԃ z > EV_ Z=J T f Z gi r k ܷ ZPW4 ,KO eS y// m^ + EeB c j w , Vu Q $ n:@] uC_ X_E ^ DTM [ - ; wvVrMJYyuYP佑2uCw } V | WID\0>米ւH%YI)XdjUSzx ^ WŬvϚ$ G ^ Oqq {0.0 = 8fy6 …