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>

Asp.net上传文件至目录相关推荐

  1. ASP.NET上传文件出现“404-找不到文件或目录”的解决办法

    ASP.NET的程序部署在IIS7环境下,上传大文件时出现"404-找不到文件或目录"的错误,如下图: <system.web> <httpRuntime use ...

  2. 【推荐】Flex+asp.net上传文件

    前台Flex文件:UploadSample.mxml,其代码如下所示:  1 <?xml version="1.0" encoding="utf-8"?& ...

  3. EXTJS+ASP.NET上传文件带实时进度条代码

    一,文件夹 二,upLoad.cs是继承IHttpModule的类: usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usin ...

  4. Asp.net上传文件限制,在大于5M的时候出现DNS解析错误,解决方法。

    在利用 private void Upload_Click(object sender, System.EventArgs e)   {    if(this.File1.PostedFile.Con ...

  5. ASP.Net上传文件带进度条、显示剩余时间!

    近段时间因为开发隐私存储网站,采用ASP.Net 2.0在处理上传文件,因为上传的文件比较大,为了改善用户体验,所以自己重写了ASP.Net 的标准上传控件,实现显示进度条,百分比,平均速度,剩余时间 ...

  6. python paramiko并发_python paramiko 多线程批量执行指令及批量上传文件和目录

    源代码: 环境需求: 1.python3 2.paramiko pip install --upgrade pip apt-get install libssl-dev pip3 install pa ...

  7. php上传文件的目录,php文件上传及下载附带显示文件及目录功能

    主页面wenjianceshi.php 文件 *{ font-family:"微软雅黑";} #wai{width:400px; margin:0 auto; padding:0p ...

  8. ASP.NET上传文件的三种基本方法

    ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关 ...

  9. ASP.NET上传文件对文件类型的高级判断

    以前发过一个.NET上传文件的方法的,不过那个方法中对文件类型的判断只是对后缀名来进行判断的,这样假如我把一个txt文本文件的后缀名改为jpg了也可以上传,这样无意中就造成了安全问题. 刚刚从网上找了 ...

最新文章

  1. 华为云服务器默认密码怎么修改,云服务器怎么修改登录密码
  2. SSM综合练习表结构介绍
  3. unity中链接字符串和变量显示_理解Unity中的优化(六):字符串和文本
  4. 树莓派跑php,在树莓派4上部署nginx+php
  5. 【srcipt】python运行cmd命令
  6. php商品报损流程,库存报损
  7. POI Excel 合并数据相同的行
  8. Report_SRW在RDF中初始化的重要性(案例)
  9. 学python有前途吗-Python前景好不好?
  10. EasyClick IOS 自动化测试报错
  11. 服务器工作室用什么系统,【小兵工作室】BING GHOST Server2003r2ee 服务器专用版
  12. Google Chrome 浏览器安装教程
  13. python编写程序统计一元人民币换成一分、两分和五分的所有兑换方案个数(用while循环)
  14. mysql减五元,[MySQL]處理字元編碼的一些心得
  15. c#为什么用的人很少
  16. python训练自己中文语料库_自然语言处理——NLTK中文语料库语料库
  17. RS485总线灵魂问答,看你知道几个?
  18. 信号积分变换的公式推导以及几个例子
  19. 麻将牌识别算法AI也能打麻将了只赢钱
  20. dnf服务器合并信息,DNF九年来最大改动!全服合并为9个大区 卢克频道过百

热门文章

  1. 数据结构上机实践第七周项目3 - 负数把正数赶出队列
  2. 计算机鼠标样式,告诉你电脑如何更改鼠标的指针样式?
  3. js深拷贝和浅拷贝对数组的影响_javaScript中的深拷贝和浅拷贝
  4. 电脑罗盘时钟代码_轻松吃透实时时钟芯片DS1302软硬件设计
  5. linux 采集 bash 脚本,Linux shell脚本攻略(2)
  6. spark数据查询语句select_Spark-SQL之DataFrame操作大全
  7. c++窗口管理系统是什么_维维华东食品饮料公司电能管理系统的设计与应用——安科瑞 戴玥...
  8. 4x4矩阵键盘c语言,4X4键盘矩阵键盘程序
  9. SQL之间,MySQL在日期之间,而不是之间
  10. linux date命令_Linux date命令示例