我正在try 使用valums ajax上传程序.http://valums.com/ajax-upload/

我的页面上有以下内容:

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
});

它确实会发送到我的控制器,但qqfile总是空的.我试过这些:

public ActionResult Upload(HttpPostedFile qqfile)
AND
HttpPostedFileBase file = Request.Files["file"];

一点运气都没有.

我找到了Ruby on rails的一个示例,但不确定如何在MVC中实现它 http://www.jigsawboys.com/2010/10/06/ruby-on-rails-ajax-file-upload-with-valum/

在firebug中,我看到:

在此处输入图像描述

enter image description here 在此处输入图像描述

在此处输入图像描述

推荐答案

我想出来了.这适用于IE和Mozilla.

    [HttpPost]
    public ActionResult FileUpload(string qqfile)
    {
        var path = @"C:\\Temp\\100\\";
        var file = string.Empty;

        try
        {
            var stream = Request.InputStream;
            if (String.IsNullOrEmpty(Request["qqfile"]))
            {
                // IE
                HttpPostedFileBase postedFile = Request.Files[0];
                stream = postedFile.InputStream;
                file = Path.Combine(path, System.IO.Path.GetFileName(Request.Files[0].FileName));
            }
            else
            {
                //Webkit, Mozilla
                file = Path.Combine(path, qqfile);
            }

            var buffer = new byte[stream.Length];
            stream.Read(buffer, 0, buffer.Length);
            System.IO.File.WriteAllBytes(file, buffer);
        }
        catch (Exception ex)
        {
            return Json(new { success = false, message = ex.Message }, "application/json");
        }

       return Json(new { success = true }, "text/html");
    }

Asp.net相关问答推荐

如何在 ASP.NET RadioButtonList 中的项目之间添加空格

单个方法(即扩展方法)之间的调用不明确

检测 ASP.NET 中的内存泄漏

此版本的 SQL Server 不支持用户实例登录标志.连接将关闭

无法连接到 ASP.Net 开发服务器问题

在 Sessions 中存储自定义对象

ASP.NET 平台是否有与 Heroku 等价的工具?

返回 JSON 对象 (ASP.NET WebAPI)

用于 ASP.NET 的 System.Drawing 的替代品?

System.Web.HttpContext 无法识别

倒带请求正文流

我可以创建 .config 文件并将其包含到 web.config 中吗?

免费的 ASP.Net 和/或 CSS 主题

从 ASP.NET 中的 POST 方法中检索数据

如何找出我的 Windows 域上托管 LDAP 的服务器?

Page.IsValid 是如何工作的?

如何将 LINQ 左外连接限制为一行

elmah:没有 HttpContext 的异常?

GZIP 与 DEFLATE 压缩相比有什么优势?

DataTable 不包含 AsEnumerable 的定义