MVC上传图片

Form提交时,须注意form需要添加属性enctype = " multipart/form-data "
,否则Request.Files.Count
= 0 ,无法上传图片
cshtml代码
< form id = " form1 "  name = " form1 "  action = " SavaeTopicType.aspx "  method = " post "  enctype = " multipart/form-data " >
</ form >
cs代码
public   bool  ValidateImg( string  imgName)
        {
            
string [] imgType  =   new   string [] {  " gif " " jpg " " png " " bmp "  };

            
int  i  =   0 ;
            
bool  blean  =   false ;
            
string  message  =   string .Empty;

            
// 判断是否为Image类型文件
             while  (i  <  imgType.Length)
            {
                
if  (imgName.Equals(imgType[i].ToString()))
                {
                    blean 
=   true ;
                    
break ;
                }
                
else   if  (i  ==  (imgType.Length  -   1 ))
                {
                    
break ;
                }
                
else
                {
                    i
++ ;
                }
            }
            
return  blean;
        }
        
public   string  upLoadImg( string  fileName)
        {
            
// 上传和返回(保存到数据库中)的路径
             string  uppath  =   string .Empty;
            
string  savepath  =   string .Empty;
            
if  (Request.Files.Count  >   0 )
            {
                HttpPostedFileBase imgFile 
=  Request.Files[fileName];
                
if  (imgFile  !=   null )
                {
                    
// 创建图片新的名称
                     string  nameImg  =  DateTime.Now.ToString( " yyyyMMddHHmmssfff " );
                    
// 获得上传图片的路径
                     string  strPath  =  imgFile.FileName;
                    
// 获得上传图片的类型(后缀名)
                     string  type  =  strPath.Substring(strPath.LastIndexOf( " . " +   1 ).ToLower();
                    
if  (ValidateImg(type))
                    {
                        
// 拼写数据库保存的相对路径字符串
                        savepath  =   " ..\\UpImgs\\ " ;
                        savepath 
+=  nameImg  +   " . "   +  type;
                        
// 拼写上传图片的路径
                        uppath  =  Server.MapPath( " ~/UpImgs/ " );
                        uppath 
+=  nameImg  +   " . "   +  type;
                        
// 上传图片
                        imgFile.SaveAs(uppath);
                    }
                    
return  savepath;
                }
            }
            
return   "" ;

你可能感兴趣的:(mvc)