Mvc файл Stream - PullRequest
       21

Mvc файл Stream

0 голосов
/ 12 марта 2011

Можно ли узнать, сколько данных пользователь получил, когда я возвращаю fileStrem в Controller?

Ответы [ 2 ]

0 голосов
/ 12 марта 2011

Ваш вопрос трудно понять, но если вы хотите получить размер загруженного файла в действии контроллера, вы можете использовать свойство ContentLength :

[HttpPost]
public ActionResult Upload(HttpPostedFileBase file) 
{
    if (file != null && file.ContentLength > 0) 
    {
        // get the size of the file
        int size = file.ContentLength;
        // TODO: do something with the size

        // Saving the uploaded file
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data"), fileName);
        file.SaveAs(path);
    }
    return RedirectToAction("Index");
}

Если наС другой стороны, действие вашего контроллера передает некоторый файл клиенту:

public ActionResult Download() 
{
    return File("foo.pdf", "text/pdf");
}
0 голосов
/ 12 марта 2011

если вы используете HttpPostedFileBase.InputStream вместо HttpPostedFileBase.SaveAs() и вручную сохраните файл из входного потока, вы можете получить прогресс загрузки.

...