zoukankan      html  css  js  c++  java
  • ASP.NET FileUpload 上传图片

    HTML:

    <table style=" 100%">
    
            <tr>
    
                <td>
    
                    <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
    
                    <br />
    
                    <asp:FileUpload ID="FileUpload1" runat="server" />
    
                     <asp:Button ID="btn_upload" runat="server" OnClick="btn_upload_Click" 
    
                        Text="Upload" />
    
                      
    
                    <asp:CustomValidator ID="CustomValidator1" runat="server" 
    
                        ControlToValidate="FileUpload1" Display="Static" 
    
                        ErrorMessage="You should only can upload image file such as files with .jpg or gif extension" 
    
                        OnServerValidate="Image_validate">*</asp:CustomValidator>
    
                </td>
    
            </tr>
    
        </table>
    
    

    code:

      
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.IO;
    using System.Drawing;
    
    
    public partial class practice_FileUpload : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void btn_upload_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                string path = @Page.MapPath("User_Edit.aspx").Replace("User_Edit.aspx", "") + "Documents\\";
                string s = path + Session["UserName"].ToString();
                if (!System.IO.Directory.Exists(path + Session["UserName"].ToString()))
                {
    
                    System.IO.Directory.CreateDirectory(path + Session["UserName"].ToString());
    
                }
    
    
                if (FileUpload1.HasFile)
                {
    
    
                    FileUpload1.SaveAs(Server.MapPath("~/Seeker/Documents/" + Session["UserName"].ToString() + "/" + this.FileUpload1.FileName));
                  
    
                }
            }
        }
    
    
        protected void Image_validate(object source, ServerValidateEventArgs args)
        {
    
            string fileExt = Path.GetExtension(FileUpload1.FileName).ToLower();
            string fileName = Path.GetFileName(FileUpload1.FileName);
          
    
            if (fileExt != ".jpg" && fileExt != ".gif")
            {
                args.IsValid = false;
              
    
            }
        }
    
    
        protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Bitmap bmIP = new Bitmap(FileUpload1.PostedFile.InputStream);
    
            if (bmIP.Width > 100 | bmIP.Height > 100)
            {
    
                args.IsValid = false;
    
            }
    
            else
            {
    
                args.IsValid = true;
    
            }
        }
    }
    
    

    The default size of files uploaded by the FileUpload control is 4MB. This solution was found from the Internet。

    值得注意的是,FileUpload 默认上传文件最大为4MB。

    如果要增加,则可以在Machine.config里面进行修改
    XML:
    <httpRuntime
    executionTimeout = "110" [in Seconds][number
    maxRequestLength = "4096" [number]
    requestLengthDiskThreshold = "80" [number]
    useFullyQualifiedRedirectUrl = "false" [true|false]
    minFreeThreads = "8" [number]
    minLocalRequestFreeThreads = "4" [number]
    appRequestQueueLimit = "5000" [number]
    enableKernelOutputCache = "true" [true|false]
    enableVersionHeader = "true" [true|false]
    apartmentThreading = "false" [true|false]
    requireRootedSaveAsPath = "true" [true|false]
    enable = "true" [true|false]
    sendCacheControlHeader = "true" [true|false]
    shutdownTimeout = "90" [in Seconds][number]
    delayNotificationTimeout = "5" [in Seconds][number]
    waitChangeNotification = "0" [number]
    maxWaitChangeNotification = "0" [number]
    enableHeaderChecking = "true" [true|false]
    />
    
    
    
  • 相关阅读:
    java学习日记-------------------------------------贪吃蛇
    java学习日记----------------为窗口添加背景图
    java学习日记-----------------------------弹弹球
    java学习日记----------------------封装的日期类MyDate
    java 学习日记---------简易学生信息管理系统
    第九次作业
    第八次作业
    第七次作业
    第六次作业
    第五次作业
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1742937.html
Copyright © 2011-2022 走看看