闪电龟龟--笔记

万物寻其根,通其堵,便能解其困。
随笔 - 169, 文章 - 0, 评论 - 1, 阅读 - 79596
  博客园  :: 新随笔  :: 管理

FileUpload上传

Posted on   闪电龟龟  阅读(130)  评论(0编辑  收藏  举报

单文件上传:

复制代码
ASPX:
<div>
        <!-- 文件上传 -->
        <asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
        <asp:Image ID="Image1" runat="server" />
    </div>
/////////////////////////////////////////////
CS:
protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (this.FileUpload1.HasFile)
            {
                // 判断是否有文件要上传
                // SaveAs()添加的是物理路径,不能够使用虚拟路径
                // string dirName = "~/files/";  // 这样不行,因为这个是虚拟路径
                string dirName = Server.MapPath("~/files/");  // 将虚拟路径转换为物理路径
                
                // 判断路径是否存在,不存在那么创建路径
                if (!Directory.Exists(dirName))
                {
                    Directory.CreateDirectory(dirName);  // 创建路劲
                }
                string fileName = Guid.NewGuid().ToString();  // 获取唯一不重复的标识
                //string oldFullDirName = this.FileUpload1.PostedFile.FileName;  // 获取物理路径(例如:D:\a.jpg)
                string oldFileName = this.FileUpload1.FileName;  // 获取文件名(例如:a.jpg)
                string ext = Path.GetExtension(oldFileName);  // 获取扩展名(.jpg)
                string fileNameNew = fileName + ext;  // 构建新文件名
                string filePathV = string.Format("~/files/{0}", fileNameNew);  // 虚拟路径
                string filePath = Server.MapPath(filePathV);  // 物理路径
                this.FileUpload1.SaveAs(filePath);  // 另存为
                long sizeM = this.FileUpload1.PostedFile.ContentLength / (1024);  // 获取文件大小,这里使用单位为K
                this.Label1.Text = string.Format("文件大小:{0:#.000},类型:{1},保存到:{2}", sizeM, this.FileUpload1.PostedFile.ContentType, filePath);
                this.Image1.ImageUrl = filePathV;  // 显示图片,使用虚拟路径即可,当然物理路径也行
            }
            else
            {
                this.Label1.Text = "请先选择文件再上传....";
            }
        }
/////////////////////////////////////////////////////////////////////
config:
<system.web>
    <!-- 开启debug -->
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <!-- 默认允许上传大小为4M,这里设置为允许上传图片大小为10M -->
    <httpRuntime maxRequestLength="10240"/>
  </system.web>
复制代码

 

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示