Mvc 文件流

发布于 2024-10-21 14:49:54 字数 53 浏览 2 评论 0原文

当我在 Controller 中返回 fileStrem 时是否可以知道用户收到了多少数据?

Whether it is possible to know how much data user received when I return fileStrem in Controller ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浸婚纱 2024-10-28 14:49:54

您的问题很难理解,但如果您想在控制器操作中获取上传文件的大小,您可以使用 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");
}

Your question is difficult to understand but if you want to get the size of the uploaded file in a controller action you could use the ContentLength property:

[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");
}

If on the other hand your controller action is transferring some file to the client:

public ActionResult Download() 
{
    return File("foo.pdf", "text/pdf");
}
朦胧时间 2024-10-28 14:49:54

如果您使用 HttpPostedFileBase.InputStream 而不是 HttpPostedFileBase.SaveAs() 并手动从输入流保存文件,您可以获取上传进度。

if you use HttpPostedFileBase.InputStream instead of HttpPostedFileBase.SaveAs()and manually save the file from input stream, you can get the upload progress.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文