簡體   English   中英

上傳文件asp.net mvc 2

[英]upload file asp.net mvc 2

我正在嘗試在上傳文件后執行任務。 任務完成后,我想顯示一些信息。 目前,我有一個上傳操作,在單擊“執行任務”按鈕后將觸發該操作,這不是很好。 問題:我只想觸發“ Sometask”操作,而不是Uploadaction?

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<%= Html.BeginForm("Upload","Home",FormMethod.Post,new { enctype = "multipart/form-data" }) %>
<%{ %>
<%=Html.HiddenFor(model=>model.Filepath) %>
<input type="file" id="upload" name="upload" />
<button id="btnUpload">
    upload</button>
<%} %>
<button id="btnTask">
    Do Task</button>
<script type="text/javascript">
    $(document).ready(function (event) {
        $('#btnTask').click(function () {
            $.post("/Home/Sometask",
            { filePath: $("#Filepath").val() },
             function (data) {
                alert(data);
            });
            event.preventDefault;
        });
    });

</script>

    [HttpPost]
    public ActionResult Upload()
    {
        HttpPostedFileBase selectedFile = Request.Files["upload"];

        if (selectedFile.ContentLength > 0)
        {
            string filePath = Path.Combine(HttpContext.Server.MapPath("\\Uploads\\")
            , Path.GetFileName(selectedFile.FileName));
            selectedFile.SaveAs(filePath);
            UploadModel model = new UploadModel();
            model.Filepath = filePath;
            return View("Index", model);
        }

        return View("Index");
    }

    public string Sometask(string Filepath)
    {
        Thread.Sleep(5000);
        return "ready";
    }

是否正在調用Upload()方法? 查看代碼,我希望調用Sometask()而不是Upload()方法。 當單擊按鈕時,jQuery代碼正在調用.post,這應該消除常規的表單發布。 如果未調用Sometask(),則許多人需要將[HttpPost]屬性添加到Sometask()方法。

請注意,出於安全原因,無法從Javascript上傳文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM