ASP.NET之Panel控件、FileUpload 控件

Panel控件:

Panel控件是一个容器控件,可以将它用作静态文本和其他控件的父级。

它有如下常见属性:

属性 类型 说明
BackImageUrl string 规定显示控件背景的图像文件的 URL。
DefaultButton string 规定 Panel 中默认按钮的 ID。
Direction string 规定 Panel 的内容显示方向。
GroupingText string 规定 Panel 中控件组的标题。
HorizontalAlign string 规定内容的水平对齐方式。
runat string 规定控件是服务器。必须设置为 “server”。
ScrollBars string 规定 Panel 中滚动栏的位置和可见性。
Wrap bool 规定内容是否折行。

aspx控件代码:

 <asp:Panel runat="server"></asp:Panel>

FileUpload 控件

FileUpload 控件是一个很重要的控件,它被 Web 服务器最终解释为形如 input type=”file” 这样的普通 HTML 控件。

它有如下常见属性:

属性 类型 说明
FileBytes byte[] 上传的文件内容的字节数组表示形式
FileContent Stream 上传文件的数据流
FileName string 上传文件在客户端的名字
HasFile bool 指示是否上传了文件
PostedFile HttpPostedFile 获取文件基础的 HttpPostedFile 对象,里面也有一些属性
PostedFile.ContentLength int 上传的文件内容的字节长度
PostedFile.ContentType string 上传文件的 MIME 内容类型
PostedFile.FileName string 上传文件的在客户端的名字
PostedFile.InputStream Stream 指向上传文件的 Stream 对象

FileUpload 控件还有一个 void SaveAs (string filename)的方法,这个方法用于将上传文件保存到服务器上,一般来说,使用FileUpload控件上传文件一般有如下几个步骤:

  1. 利用HasFile属性判断是否上传了文件。
  2. 在服务器上指定一个物理路径,并检查这个物理路径是否存在,如果不存在先创建。
  3. 指定上传文件在服务器上的上传路径,利用Save()保存上传的文件,这一步还可以做一些其它检查工作,比如检查上传的文件是否符合要求或文件内容大小是否符合要求。
  4. 将相对路径或者URL地址保存起来,以便客户访问下载。

注意:上传文件大小限制在Web.config文件的httpRuntime项添加maxRequestLength="102400"

aspx控件代码:

<asp:FileUpload ID="fileUpload" runat="server" />
<asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="上传" />
<asp:Literal ID="literal" runat="server"></asp:Literal>

aspx.cs控件逻辑代码:

protected void btnUpload_Click(object sender, EventArgs e)
        {
            //判断是否上传了文件
            if (fileUpload.HasFile)
            {
                //指定上传文件在服务器上的保存路径
                string savePath = Server.MapPath("~/upload/");
                //是否存在路径,如果不存在则创建
                if (!System.IO.Directory.Exists(savePath))
                {
                    //需要对这个路径有足够的权限,否则会报错
                    System.IO.Directory.CreateDirectory(savePath);
                }
                //获取文件名
                savePath = savePath + "\\" + fileUpload.FileName;
                //保存文件
                fileUpload.SaveAs(savePath);
                //渲染ID literal
                literal.Text = string.Format(
                    "<p>文件下载:<a href='upload/{0}'>upload{0}</a>" +
                    "</p><p>文件大小:{1}字节</p>" +
                    "</p><p>文件名称:{0}</p>", 
                    fileUpload.FileName, fileUpload.PostedFile.ContentLength
                );
            }
        }
发布了8 篇原创文章 · 获赞 4 · 访问量 642

猜你喜欢

转载自blog.csdn.net/qq_30871823/article/details/105469278