当我在Controller中返回fileStrem时,是否可以知道用户收到了多少数据?
答案 0 :(得分:0)
如果您使用HttpPostedFileBase.InputStream
而不是HttpPostedFileBase.SaveAs()
并手动保存输入流中的文件,则可以获得上传进度。
答案 1 :(得分:0)
您的问题很难理解,但如果您想在控制器操作中获取上传文件的大小,可以使用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");
}