文件大小超过长度

时间:2014-12-27 19:51:08

标签: c# sql asp.net

当文件大小为1.66 MB或更大时,发生错误,说“文件大小超过长度”。如何使系统尽可能多地接受大文件大小。文件保存在数据库中,列类型为varbinary(max)。不知道是什么导致了这个错误!

代码是:

if (FileUpload1.HasFile)
{
    if (ext.Equals(".pdf"))
    {
        Stream fs = FileUpload1.PostedFile.InputStream;
        BinaryReader br = new BinaryReader(fs);
        Byte[] bytes = br.ReadBytes((Int32)fs.Length);

        string classNmae = ddClass.Text.Split('~')[0] + ddClass.Text.Split('1');
        com.Parameters.Clear();
        com.CommandText = "UPDATE [Marking] SET [fileName]=@fileName, [fileType]=@fileType, [type]=@typ,[submissionDate]=@sd, [filePath]=@fp where [class_id]=@cid AND [module_id]=@mid  AND [student_id]= '" + Session["id"].ToString() + "'";
        com.Parameters.Add("@cid", SqlDbType.VarChar).Value = ddClass.Text.Split('~')[0];
        com.Parameters.Add("@mid", SqlDbType.VarChar).Value = ddClass.Text.Split('~')[1];
        com.Parameters.Add("@fileName", SqlDbType.VarChar).Value = filename;
        com.Parameters.Add("@fileType", SqlDbType.VarChar).Value = "application/pdf";
        com.Parameters.Add("@typ", SqlDbType.VarChar).Value = txtType.Text;
        com.Parameters.Add("@sd", SqlDbType.VarChar).Value = DateTime.Now;
        com.Parameters.Add("@fp", SqlDbType.Binary).Value = bytes;

        com.ExecuteNonQuery();

1 个答案:

答案 0 :(得分:4)

在您的web.config文件中:

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="16384" />
    </system.web>
</configuration>

该值以KB为单位。在这种情况下等于16MB。