上传前验证文件大小

Pra*_*een 5 c# file-upload file asp.net-mvc-3

我需要验证要上传到服务器的文件。必须在上传之前完成验证。即,验证在客户端完成。此任务应在 ASP.NET MVC3 网页中完成。它也应该适用于所有浏览器。IE9,8,7/FF/Chrome。我开始知道 IE 没有 FileReader API。

我的问题是,如何在 MVC3 网页中上传之前验证文件大小。

Ter*_*ato 1

.Net MVC 解决方案:

我正在使用的数据类型HttpPostedFileBase

在您的文件夹中,创建一个名为“EditorTemplates”Views > Shared的新文件夹并使用:

@model HttpPostedFileBase

@Html.TextBox("", null, new { type = "file" })
Run Code Online (Sandbox Code Playgroud)

然后,我将此HttpPostedFileBase对象从控制器传递给执行以下操作的方法:

 public Files Upload(HttpPostedFileBase files)
 {
    if (files.ContentLength > 0) {

    .....
 }
Run Code Online (Sandbox Code Playgroud)

HttpPostedFileBase 类的 ContentLength 属性包含发布文件中的字节数

这将使您拥有一个可用的文件上传框。

关于 ASP.NET WebForms 解决方案:

<asp:FileUpload ID="fuPictures" runat="server" />
Run Code Online (Sandbox Code Playgroud)

创建一个带有 OnClick 或 OnCommand 事件的按钮,执行如下操作:

if (fuPictures.HasFile == true)
{
    int fileSize = fuPictures.FileBytes;
}
Run Code Online (Sandbox Code Playgroud)

这将为您提供文件大小。希望这可以帮助。