• 文件上传两种方式


     一种方式

    /// <summary>

        /// 上传文件
        
    /// </summary>
        
    /// <param name="filepathLevel">上传文件的路径层</param>
        
    /// <param name="filepath">根目录下文件存在的路径</param>
        
    /// <param name="filename">文件名称,默认null</param>
        
    /// <param name="fileFormat">文件格式(以,分隔)</param>
        
    /// <param name="maxAmount">文件大小(MB计算)</param>
        
    /// <param name="fud">上传组件名</param>
        
    /// <param name="fileIsExists">是否必需上传</param>
        
    /// <returns></returns>
        public static string FileUpload(string filepathLevel, string filepath, string filename, string fileFormat, int maxAmount, FileUpload fud,bool fileIsExists)
        {
            
    bool formatStatus = false;
            
    string eorrStr = "";
            
    string strText = null;
            
    string tmpfilepath = System.Web.HttpContext.Current.Server.MapPath(filepathLevel) + filepath;
            
    string tmpfilename;
            
    if (filename == null)   ///默认名称
            { tmpfilename = DateTime.Now.ToString("yyyyMMddhhmmss"+ DateTime.Now.Millisecond.ToString(); }
            
    else
            { tmpfilename 
    = filename; }
            
    ///---------------------------创建文件夹---------------------------
            //HttpContext.Current.Server.MapPath(相对路径):把相对路径转为服务器上的绝对路径。File.Exists(绝对路径):检查是否存在绝对路径指向的文件或目录。
            if (!File.Exists(tmpfilepath))
            {
                System.IO.Directory.CreateDirectory(tmpfilepath);              
    //System.IO.Directory.CreateDirectory(文件夹绝对路径):建立绝对路径文件夹。
            }
            
            
    ///------------------------------写入上传文件--------------------------------
            if (fud.HasFile)
            {
                
    try
                {
                    
    string[] strTpye = fud.FileName.Split('.');
                    
    if (strTpye.Length > 1)
                    {  
                        
    int i_split = strTpye.Length - 1;
                        
    string format = strTpye[i_split];
                        
    string[] sArray = fileFormat.Split(',');
                        
    foreach (string i in sArray)
                        {
                            
    if (format.ToLower() == i.ToString())
                             {                            
                                formatStatus 
    = true;
                                
    break;
                            }
                        }
                        
    ///------------------判断文件格式--------------------
                        if (formatStatus == false)   
                        {
                            eorrStr 
    += "只能上传" + fileFormat + "格式文件";
                        }
                        
    ///------------------判断大小--------------------
                        int tmpmaxAmount = maxAmount * 1024 * 1024;
                        
    if (fud.PostedFile.ContentLength > tmpmaxAmount)  
                        {
                            eorrStr 
    += "上传不能超过" + maxAmount + "MB";
                        }
                        
    ///------------------写入文件--------------------
                        if (eorrStr == "")
                        {
                            
    string savepath = tmpfilepath + tmpfilename + "." + format;
                            
    if (!File.Exists(savepath))   //不存在就写入
                            {
                                fud.SaveAs(tmpfilepath 
    + tmpfilename + "." + format);
                            }                         
                            strText 
    = filepath + tmpfilename + "." + format;    
                        }
                    }
                    
    else
                    {
                        eorrStr 
    += "只能上传" + fileFormat + "格式文件";
                    }
                    
    //  显示文件信息
                    
    //str += "<br/>Saved As: " + FileUpload1.PostedFile.FileName;
                    
    //str += "<br/>File Type: " + FileUpload1.PostedFile.ContentType;
                    
    //str += "<br/>File Length (bytes): " + FileUpload1.PostedFile.ContentLength;
                    
    //str += "<br/>PostedFile File Name: " + FileUpload1.PostedFile.FileName;
                    
    // fud.SaveAs(filepath + FileUpload1.FileName);
                    
    //str += "Uploading file: " + FileUpload1.FileNam
                }
                
    catch (Exception ex)
                {
                    eorrStr 
    += "<b>Error:</b>Unable to save :" + fud.FileName + "<br/>" + ex.Message;
                }
            }
            
    else
            {
                
    if (fileIsExists == true)  ///必需上传文件
                {
                    eorrStr 
    = "No file uploaded.";
                }
            }

            
    if (eorrStr != "")
            { JScript.Alert(eorrStr); }
            
    return strText;        
        }

      

     二种方式

    //upload.aspx

    <form name="form1" action="Save.aspx" method="post" enctype="multipart/form-data">
    <INPUT type="file" id="File1" name="File1">
    <input type="submit" name="submit" value="保存">
    </form>


      
    private void Page_Load(object sender, System.EventArgs e)
      {
       
    if( Request.Files.Count == 0 ) {
        Response.Write(
    "<script>alert('请选择上传文件!');</script>");
        Response.End();
        
    return;
       }
       System.Web.HttpPostedFile file 
    = Request.Files[0];
       String fileName 
    = Request["fileName"];
       String save_path 
    = "./attached/";
       String ext 
    = System.IO.Path.GetExtension( file.FileName ).ToLower();
       Response.Write(ext);
       
    if!System.IO.Directory.Exists( Server.MapPath( save_path ) ) )
        System.IO.Directory.CreateDirectory( Server.MapPath( save_path ) );
       
    if( ext == ".jpg" || ext == ".gif" || ext == ".bmp" || ext == ".png" ) {
        file.SaveAs( Server.MapPath( save_path 
    + fileName ) );
        Response.Write(
    "<script type=""text/javascript"">parent.KindInsertImage('" + save_path + fileName + "','" + Request["imgWidth"+ "','" + Request["imgHeight"+ "','" + Request["imgBorder"+ "');</script>'");
        Response.End();
       }
       
    else {
        Response.Write(
    "<script>alert('文件格式不支持!');</script>");
        Response.End();
       }
      }

  • 相关阅读:
    日记
    没有起得晚的周末,希望今天能做一些什么
    怎么就这么喜欢测软件呢?—— Google Calendar农历问题
    Sharepoint带自定义属性的FieldType
    自己使用Outlook 2003 的一些小技巧
    Xml名称空间
    c# jingtailei 静态成员
    select count
    varchar nvarchar(转)
    linq 笔记(1)
  • 原文地址:https://www.cnblogs.com/qgf522/p/1275550.html
Copyright © 2020-2023  润新知