Загрузка файла в MVC

Clojures Полиморфизм является естественным расширением Java. В Java методы отправляются в соответствии с классом. В ближайшем будущем это расширяется, чтобы позволить вам отправлять вызовы на основе всего, что вы хотите. Его по-прежнему очень легко отправить на урок, и в большинстве случаев так оно и есть. Если вы хотите что-то еще, вы можете написать своего собственного диспетчера. Встроенная функция derive для создания иерархии, основанной на чем угодно, и последующей отправки по isa.

больше добра в: http://clojure.org/multimethods

7
задан Ikke 22 October 2009 в 09:00
поделиться

1 ответ

Edit: И как только вы думаете, что все это выяснили, вы понимаете, что есть способ лучше. Проверьте http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx

Оригинал: Я не уверен, что понимаю ваш вопрос на 100%, но предполагаю, что вы хотите загрузить файл по URL-адресу, который выглядит примерно так: http: // {server name} / {Controller} / Upload? Это будет реализовано точно так же, как обычная загрузка файла с использованием веб-форм.

Итак, ваш контроллер имеет действие с именем upload и выглядит примерно так:

//For MVC ver 2 use:
[HttpPost]
//For MVC ver 1 use:
//[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Upload()
{
    try
    {
        foreach (HttpPostedFile file in Request.Files)
        {
            //Save to a file
            file.SaveAs(Path.Combine("C:\\File_Store\\", Path.GetFileName(file.FileName)));

            // * OR *
            //Use file.InputStream to access the uploaded file as a stream
            byte[] buffer = new byte[1024];
            int read = file.InputStream.Read(buffer, 0, buffer.Length);
            while (read > 0)
            {
                //do stuff with the buffer
                read = file.InputStream.Read(buffer, 0, buffer.Length);
            }
        }
        return Json(new { Result = "Complete" });
    }
    catch (Exception)
    {
        return Json(new { Result = "Error" });
    }
}

В этом случае я возвращаю Json, чтобы указать на успех, но вы можете изменить это в xml (или что-нибудь в этом роде), если необходимо.

13
ответ дан 6 December 2019 в 19:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: