[英]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.