загрузить файл asp.net mvc 2 - PullRequest
0 голосов
/ 06 мая 2011

Я пытаюсь выполнить задачу после загрузки файла.После того, как задача закончена, я хотел бы показать некоторую информацию.На данный момент у меня есть действие Upload, которое сработает после нажатия кнопки «Do task», что не очень хорошо.вопрос: я хотел бы просто запустить действие 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";
    }

1 Ответ

0 голосов
/ 26 мая 2011

Вызывается ли метод Upload ()? Глядя на код, я ожидал бы вызова Sometask (), но не метода Upload (). Код jQuery вызывает .post, когда нажимается кнопка, и это должно исключить нормальное размещение формы. Если Sometask () не вызывается, вам нужно добавить атрибут [HttpPost] в метод Sometask ().

Обратите внимание, что по соображениям безопасности файлы не могут быть загружены из Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...