继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Asp.net上传文件至目录

远看寒山石径斜
关注TA
已关注
手记 268
粉丝 25
获赞 149

Asp.net上传文件,把文件存入至目录中。限制上传文件大小,限制上传文件格式。存取得原来文件名,创建新的文件名。

把文件临时存入临时目录中,处理完毕,最后再移至真正目录。

参考代码:

复制代码 //上传时,判断文件是否大于限定大小
        if (this.FileUpload1.PostedFile.ContentLength > 104857600) //单位KB
        {
            objInsusJsUtility.JsAlert("You select the file larger than 100MB");
            return;
        }

        //创建一个临时文件夹
        string tempPath = "~/Temp/";
        //判断目录是否存在
        if (!Directory.Exists(Server.MapPath(tempPath)))
        {
            //如果不存在,创建它
            Directory.CreateDirectory(Server.MapPath(tempPath));
        }

       //取得上传文件
        string uploadfile = FileUpload1.PostedFile.FileName;
        //取得原文件名,存入数据库中,这样在aspx显示回原来的文件名
        string oldFileName = uploadfile.Substring(uploadfile.LastIndexOf(@"\") + 1);
        //取得文件的扩展名
        string fileExtension = uploadfile.Substring(uploadfile.LastIndexOf("."));
        //产生新文件名
        string newFileName = objGuid.ToString() + fileExtension;

        //建立存储的目录
        string directory = Mediadirectory + this.ddlMediaType.SelectedItem.Value + "/";
        
        //判断目录是否存在
        if (!Directory.Exists(Server.MapPath(directory)))
        {
           //如果不存在,创建它
            Directory.CreateDirectory(Server.MapPath(directory));
        }

        //新文件
        string newFile = Server.MapPath(tempPath + newFileName);
        
        //保存文件(暂存入一个临时文件夹中)
        FileUpload1.SaveAs(newFile);

        //限定上传的文件类型
        string[] fileClass = { "7076", "4838" };  //7076 is FLV;4838 is wmv;
        if (!InsusBase.CompareFileClass(newFile, fileClass))
        {
            objInsusJsUtility.JsAlert("You did not specify a media file.The file format is wmv,flv");
            return;
        }

        try
        {
           //存入数据库中
            objMedia.Insert(this.ddlMediaType.SelectedItem.Value, this.txtSubject.Text.Trim(), this.txtDescription.Text.Trim(), directory, oldFileName, newFileName);
            //把文件从临时文件夹中,移至真正的目录。
            File.Move(newFile, Server.MapPath(directory + newFileName));
            objInsusJsUtility.JsAlert("视频上传成功。", "this", "Media.aspx");
        }
        catch (Exception ex)
        {
            //抛出异常
            InsusBase.InsusException(ex);
        }复制代码

 

Web.config配置可上传大文件,asp.net默认情况之下只能上传4MB,另外一点就是,maxRequestLength单位是MB。

 <system.web>      
        <httpRuntime maxRequestLength="102400" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/>
    </system.web>

 

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP