来自 操作系统 2019-12-21 20:23 的文章
当前位置: 澳门三合彩票 > 操作系统 > 正文

怎么获得上传图片

澳门三合彩票,form类型为multipart/form-data,怎么获得上传图片?

/*Asp.Net无组件多文件上传类(1.0.0.0)。.netFramework2.0+IIS6.0调试通过。--EditByShowBo于2007.10.1910:00*/namespaceShowBo.AspNetUpLoad{usingSystem;usingSystem.IO;usingSystem.Web;usingSystem.Text;usingSystem.Collections;///summary///文件结构////summarypublicstructMyFileInfo{publicstringFileName;//服务器端的文件名publicstringSFileName;//客户端的文件名publicbyte[]FileData;//文件的2进制数据}///summary///表单项收集////summarypublicclassFormCollection:DictionaryBase{///summary///添加项目////summary///paramname="Key"键/param///paramname="Value"值/parampublicvoidAdd(stringKey,stringValue){Dictionary.Add(Key,Value);}///summary///获取或设置对应的键值////summary///paramname="Key"键/param///returns值/returnspublicstringthis[stringKey]{get{return(string)Dictionary[Key];}set{Dictionary[Key]=value;}}///summary///重写叠代借口返回,返回string类型////summary///returnsIEnumerator叠代接口/returnspublicnewIEnumeratorGetEnumerator(){foreach(DictionaryEntrydeinDictionary){yieldreturn(string)de.Value;}}///summary///删除键值////summary///paramname="Key"要删除的键值/parampublicvoidRemove(stringKey){Dictionary.Remove(Key);}}///summary///上传文件收集,信息为2进制////summarypublicclassFileCollection:DictionaryBase{publicvoidAdd(stringKey,MyFileInfofileInfo){Dictionary.Add(Key,fileInfo);}publicvoidRemove(stringKey){Dictionary.Remove(Key);}///summary///重写迭代接口接口////summary///returns返回文件的MyFileInfo结构体/returnspublicnewIEnumeratorGetEnumerator(){foreach(DictionaryEntrydeinDictionary){yieldreturn(MyFileInfo)de.Value;}}publicMyFileInfothis[stringKey]{get{return(MyFileInfo)Dictionary[Key];}set{Dictionary[Key]=value;}}}///summary///文件上传类////summarypublicclassUpLoad{#region变量申明privatebyte[]FormData;//表单的2进制数据数组privateintformSize;//总上传字节数privatestringallowExts;//默认的可以上传的文件扩展名称privatestringrootPath;//文件保存的目录privatestringfileErr;//文件错误信息,例如文件大小超过,扩展名不允许privatestringallFile;//保存所有成功上传的文件名称privateintmaxFileSize;//默认上传大小为200kbprivateintfileCount;//总的上传的文件个数privatebyte[]SplitStr;//2进制分隔符号privateintSplitStrLen;//分隔符号长度byte[]CLStr=newbyte[]{13,10};//2进制回车privateFileCollectionfileCollections=newFileCollection();//文件信息集合privateFormCollectionformCollections=newFormCollection();//表单信息集合privateBinaryReaderbinReader;//2进制读取器#endregion#region属性///summary///默认的可以上传的文件扩展名称////summarypublicstringAllowExts{get{returnallowExts;}set{allowExts=value;}}///summary///文件保存的目录////summarypublicstringRootPath{get{returnrootPath;}set{stringtempPath=value;if(tempPath.LastIndexOf("/")==-1)rootPath=tempPath+"/";elserootPath=tempPath;}}///summary///错误信息,只读属性////summarypublicstringErrorStr{get{if(fileErr!="")fileErr="发生如下错误n"+fileErr;returnfileErr;}}///summary///文件信息集合,2进制流形式缓存数据,只读属性////summarypublicFileCollectionFileCollections{get{returnfileCollections;}}///summary///表单信息集合,只读属性////summarypublicFormCollectionFormCollections{get{returnformCollections;}}///summary///所有文件在服务器上生成的文件名,只读属性////summarypublicstringFileNames{get{returnallFile;}}///summary///文件数量,只读属性////summarypublicintFileCount{get{returnfileCount;}}#endregionpublicUpLoad(){allowExts="jpg|png|gif";rootPath="uploadfiles/";maxFileSize=200;allFile="";fileErr="";fileCount=0;}///summary///保存文件到硬盘////summarypublicvoidSave(){stringFilePath="";FileStreamfileStream;foreach(MyFileInfomfiinfileCollections){try{FilePath=HttpContext.Current.Server.MapPath(rootPath+mfi.FileName);//获取文件的物理路径fileStream=newFileStream(FilePath,FileMode.OpenOrCreate);fileStream.Write(mfi.FileData,0,mfi.FileData.Length);fileStream.Flush();fileStream.Close();}catch{fileErr+=mfi.SFileName+"保存失败!n";}}}///summary///以时间和文件第几个为文件重新命名////summary///paramname="Ext"扩展名/param///paramname="fileCount"第几个文件,防止服务器处理速度快,一个时间内能处理几个文件,那么用时间生成的文件名有可能被覆盖。/param///returns新文件名/returnsprivatestringgetFileName(stringExt,intfileCount){returnDateTime.Now.ToString().Replace(":","").Replace("","").Replace("-","")+fileCount.ToString()+"."+Ext;}

本文由澳门三合彩票发布于操作系统,转载请注明出处:怎么获得上传图片

关键词: