• Asp.net FileUpload+Image制作头像效果


       Web开发中会经常使用到个人信息注册,而个人信息中通常需要自己的头像或者照片。今天主要介绍一下使用FileUpload+img控件上传照片。

    FileUpLoad控件使用介绍

    FileUpLoad控件的PostedFile属性主要获取上传文件的一些基础信息。

    .ContentLength

       获取上传文件的大小。返回值为int类型,单位为字节。

    用途

    1判断上传文件的大小

        if (this.FileUpload1.PostedFile.ContentLength <= 4000000) //4M

            {

                 Response.Write("<script>alert('" +FileUpload1.PostedFile.ContentLength + "')</script>");

           }

           else

           {

               Response.Write("<script>alert('太大了不能上传!')</script>");

           }

      其中FileUpload1是上传控件的ID,this.FileUpload1.PostedFile.ContentLength是上传文件的大小

    2、修改ASP.NET上传的默认值

          ASP.NET的默认最大上传值是4M,通过修改web.config,可以实现上传大文件:

         <system.web> 

    <httpRuntime maxRequestLength="4096"//这里的4096就是4m,原先是默认的。你改一下这个,就可以了。 

    executionTimeout="3600" 

    /> 

    </system.web>

     

    .ContentType

        获取上传文件的MIME内容类型。PostedFile.ContentType这个属性通常用来判断上传文件的MIME类型,我们通常以此来拒绝某些类型的上传,比如仅允许上传图像文件,或者指定固定图片的格式。


       在net,做上传文件判断文件格式的写法总结:

    ".*"="application/octet-stream"

    ".001"="application/x-001"

    ".301"="application/x-301"

    ".323"="text/h323"

    ".906"="application/x-906"

    ".907"="drawing/907"

    ".a11"="application/x-a11"

    ".acp"="audio/x-mei-aac"

    ".ai"="application/postscript"

    ".aif"="audio/aiff"

    ".aifc"="audio/aiff"

    ".aiff"="audio/aiff"

    ".anv"="application/x-anv"

    ".asa"="text/asa"

    ".asf"="video/x-ms-asf"

    ".asp"="text/asp"

    ".asx"="video/x-ms-asf"

    ".au"="audio/basic"

    ".avi"="video/avi"

    ".awf"="application/vnd.adobe.workflow"

    ".biz"="text/xml"

    ".bmp"="application/x-bmp"

    ".bot"="application/x-bot"

    ".c4t"="application/x-c4t"

    ".c90"="application/x-c90"

    ".cal"="application/x-cals"

    ".cat"="application/vnd.ms-pki.seccat"

    ".cdf"="application/x-netcdf"

    ".cdr"="application/x-cdr"

    ".cel"="application/x-cel"

    ".cer"="application/x-x509-ca-cert"

    ".cg4"="application/x-g4"

    ".cgm"="application/x-cgm"

    ".cit"="application/x-cit"

    ".class"="java/*"

    ".cml"="text/xml"

    ".cmp"="application/x-cmp"

    ".cmx"="application/x-cmx"

    ".cot"="application/x-cot"

    ".crl"="application/pkix-crl"

    ".crt"="application/x-x509-ca-cert"

    ".csi"="application/x-csi"

    ".css"="text/css"

    ".cut"="application/x-cut"

    ".dbf"="application/x-dbf"

    ".dbm"="application/x-dbm"

    ".dbx"="application/x-dbx"

    ".dcd"="text/xml"

    ".dcx"="application/x-dcx"

    ".der"="application/x-x509-ca-cert"

    ".dgn"="application/x-dgn"

    ".dib"="application/x-dib"

    ".dll"="application/x-msdownload"

    ".doc"="application/msword"

    ".dot"="application/msword"

    ".drw"="application/x-drw"

    ".dtd"="text/xml"

    ".dwf"="Model/vnd.dwf"

    ".dwf"="application/x-dwf"

    ".dwg"="application/x-dwg"

    ".dxb"="application/x-dxb"

    ".dxf"="application/x-dxf"

    ".edn"="application/vnd.adobe.edn"

    ".emf"="application/x-emf"

    ".eml"="message/rfc822"

    ".ent"="text/xml"

    ".epi"="application/x-epi"

    ".eps"="application/x-ps"

    ".eps"="application/postscript"

    ".etd"="application/x-ebx"

    ".exe"="application/x-msdownload"

    ".fax"="image/fax"

    ".fdf"="application/vnd.fdf"

    ".fif"="application/fractals"

    ".fo"="text/xml"

    ".frm"="application/x-frm"

    ".g4"="application/x-g4"

    ".gbr"="application/x-gbr"

    ".gcd"="application/x-gcd"

    ".gif"="image/gif"

    ".gl2"="application/x-gl2"

    ".gp4"="application/x-gp4"

    ".hgl"="application/x-hgl"

    ".hmr"="application/x-hmr"

    ".hpg"="application/x-hpgl"

    ".hpl"="application/x-hpl"

    ".hqx"="application/mac-binhex40"

    ".hrf"="application/x-hrf"

    ".hta"="application/hta"

    ".htc"="text/x-component"

    ".htm"="text/html"

    ".html"="text/html"

    ".htt"="text/webviewhtml"

    ".htx"="text/html"

    ".icb"="application/x-icb"

    ".ico"="image/x-icon"

    ".ico"="application/x-ico"

    ".iff"="application/x-iff"

    ".ig4"="application/x-g4"

    ".igs"="application/x-igs"

    ".iii"="application/x-iphone"

    ".img"="application/x-img"

    ".ins"="application/x-internet-signup"

    ".isp"="application/x-internet-signup"

    ".IVF"="video/x-ivf"

    ".java"="java/*"

    ".jfif"="image/jpeg"

    ".jpe"="image/jpeg"

    ".jpe"="application/x-jpe"

    ".jpeg"="image/jpeg"

    ".jpg"="application/x-jpg"

    ".js"="application/x-javascript"

    ".jsp"="text/html"

    ".la1"="audio/x-liquid-file"

    ".lar"="application/x-laplayer-reg"

    ".latex"="application/x-latex"

    ".lavs"="audio/x-liquid-secure"

    ".lbm"="application/x-lbm"

    ".lmsff"="audio/x-la-lms"

    ".ls"="application/x-javascript"

    ".ltr"="application/x-ltr"

    .FileName

        获取上传文件的完整路径及名称。此路径为改文件所在在客户端文件中的路径。通常用这个属性来获取上传文件的名称并保保存。

    .FileUpload1.SaveAs

        将上传文件保存到指定路径的文件下。通常借助Server.MapPath()方法保存文件到服务器指定文件下。(获取Web服务器指定虚拟路径相对应的物理文件路径)

    图片上传实例

    FileUpload+Image控件实现上传指定图片大小、格式、保存到指定路径文件下。

    .axps

     

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Fileup.aspx.cs" Inherits="Testcookie.Fileup" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            
            <asp:Image ID="Image1" runat="server" Height="180px" Width="191px"  ImageUrl="~/Photo/untitled.png" />
            <asp:FileUpload ID="FileUpload1" runat="server"   />
            <asp:Button ID="btnupload" runat="server" Text="Button" onclick="btnupload_Click" />
            <asp:Button ID="btndelete" runat="server" Text="Button" onclick="btndelete_Click" />
        </div>
        </form>
    </body>
    </html>
    

    .axps.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace Testcookie
    {
        public partial class Fileup : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void btnupload_Click(object sender, EventArgs e)
            { 
               
               int length= this.FileUpload1.PostedFile.ContentLength;//获取图片大小,以字节为单位
                if(length<4000)
                {
                    Response.Write("<script language='javascript'>alert('您选择的图片过大!');</script>");
                }
                else{
               String type=this.FileUpload1.PostedFile.ContentType;//获取上传文件类型
                String fullfilename = this.FileUpload1.PostedFile.FileName;//获取上传文件在客户端的路径及名称
                String filename = fullfilename.Substring(fullfilename.LastIndexOf("\")+1);
                String  extensions = filename.Substring(filename.LastIndexOf (".")+1);//获取文件扩展名
                string name=DateTime.Now.ToString("yyyyMMddHHmmss");
                if (type == "image/jpeg" || type == "image/png" )//限制上传格式
                {
                    this.FileUpload1.SaveAs(Server.MapPath("Photo") + "\" + name + "." + extensions);//将图片以当前时间命名保存,避免上传图片命名重复
                   //设置上传图片大小为原图片大小
                    //System.Drawing.Image img = System.Drawing.Image.FromFile(this.Server.MapPath("Photo") + "\" + name + "." + extensions);//获得图片文件
                    //int width = img.Width;
                    //this.Image1.Width = width;//这是宽设置Image控件的宽度为图片宽度
                    //int height = img.Height;
                    //this.Image1.Height = height;//这是高,设置Image控件的高度为图片的高度
                this.Image1.ImageUrl = "Photo/" + name + "." + extensions;
                }
                else
                {
                Response.Write("<script language='javascript'>alert('您选择的图片有误!');</script>");
                }
                }
            }
    
            protected void btndelete_Click (object sender, EventArgs e)
            {
               //删除图片
                if (System.IO.File.Exists(Server.MapPath("Photo")+"\20130808084433.PNG"))
                {
                    try
                    {
                        System.IO.File.Delete(Server.MapPath("Photo") + "\20130808084433.PNG");
                    }
                    catch
                    {
                        throw new Exception("文件删除失败!");
                    }
                }
            }
        }
    }

    效果

           文件上传前

           文件上传后

  • 相关阅读:
    mysql-Invalid use of group function-聚合函数不能直接使用在where后面-使用exists,外查询与子查询应条件关联
    python-数据库之pymysql模块(连接对象-游标对象-执行-获取值或者提交事务)
    python作业-99乘法表作业,注意制表符合print结束符以及外层和里层怎么确定的,以及闰年
    python学习笔记-if_while_for_break_continue
    python-python中的Debug大法
    python-常用的几种格式化方法
    python学习一周总结
    python学习笔记-列表,字典,以及函数返回值
    python-注释,变量命名和规范笔记
    OpenJudge 求重要逆序对数
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3249386.html
Copyright © 2020-2023  润新知