首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jqueryform插件上传

使用jqueryform插件上传
EN

Stack Overflow用户
提问于 2011-06-22 11:16:26
回答 1查看 876关注 0票数 0

我正在尝试用jqueryform插件上传文件。我有文件上传控制,但第二个不能上传?

代码语言:javascript
复制
<div>
    <h2>
        Upload test</h2>
    <script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
    <script src="../../Scripts/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script>
    <script src="../../Scripts/jqueryform.js" type="text/javascript"></script>
    <script src="../../Scripts/jblock.js" type="text/javascript"></script>
    <script type="text/javascript">

        $(document).ready(function (event) {

            $(function () {
                $("#ajaxUploadForm").ajaxForm({
                    iframe: true,
                    dataType: "json",
                    beforeSubmit: function () {
                        $("#ajaxUploadForm").block({ message: ' Uploading Image' });
                    },
                    success: function (result) {
                        $("#ajaxUploadForm").unblock();
                        $("#ajaxUploadForm").resetForm();
                        //$.growlUI(null, result.message);
                        if (result.message != 'Success') {
                            alert(result.message);
                        }
                        else {

                        }
                    },
                    error: function (xhr, textStatus, errorThrown) {
                        $("#ajaxUploadForm").unblock();
                        $("#ajaxUploadForm").resetForm();

                    }
                });
            });
        });
    </script>
    <form id="ajaxUploadForm" action="<%= Url.Action("Upload", "Home")%>" method="post"
    enctype="multipart/form-data">
    <input type="file" name="file" />

    <input type="file" name="file2" />

    <input id="ajaxUploadButton" type="submit" value="upload file" />
    </form>
</div>


  public ActionResult Index()
    {
        return View();
    }

    public FileUploadJsonResult Upload(HttpPostedFileBase file)
    {
        if (file == null)
        {
            return new FileUploadJsonResult { Data = new { message = "error" } };
        }

        if (file.ContentLength > 0)
        {
         //save file or something
        }

        return new FileUploadJsonResult { Data = new { message = string.Format("success") } };
    }


 public class FileUploadJsonResult : JsonResult
{
    public override void ExecuteResult(ControllerContext context)
    {
        this.ContentType = "text/html";
        context.HttpContext.Response.Write("<textarea>");
        base.ExecuteResult(context);
        context.HttpContext.Response.Write("</textarea>");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2011-06-23 13:08:45

表单上有两个文件输入,分别名为filefile1。处理上传的控制器操作只有一个名为fileHttpPostedFileBase参数。所以你可以添加第二个:

代码语言:javascript
复制
public FileUploadJsonResult Upload(
    HttpPostedFileBase file, 
    HttpPostedFileBase file1
)
{
    if (file == null || file1 == null)
    {
        return new FileUploadJsonResult { Data = new { message = "error" } };
    }

    if (file.ContentLength > 0)
    {
        //save file or something
    }

    if (file1.ContentLength > 0)
    {
        //save the second file or something
    }

    return new FileUploadJsonResult { Data = new { message = string.Format("success") } };
}

或者,如果你想处理多个文件,你可以在你的表单上给它们起相同的名字:

代码语言:javascript
复制
<input type="file" name="files" />
<input type="file" name="files" />
<input type="file" name="files" />
<input type="file" name="files" />
<input type="file" name="files" />
...

然后,您的控制器操作可以获取一个文件列表:

代码语言:javascript
复制
public FileUploadJsonResult Upload(IEnumerable<HttpPostedFileBase> files)
{
    if (files)
    {
        return new FileUploadJsonResult { Data = new { message = "error" } };
    }

    foreach (var file in files)
    {

        if (file.ContentLength > 0)
        {
            //save file or something
        }
    }

    return new FileUploadJsonResult { Data = new { message = string.Format("success") } };
}

您可以在ASP.NET MVC中查看有关上传文件的following blog post

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6434524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档