C#中对上传的Txt文档进行编码的转换,并且不会乱码,其他编码转换为UTF-8

 //对上传的Txt文件进行编码的转换
public  class  UploadDocmentsFile  :  IHttpHandler ,  IRequiresSessionState
    {
         public  void  ProcessRequest( HttpContext  context)
        {
            context.Response.ContentType =  "text/plain" ;
            context.Request.ContentEncoding =  Encoding .GetEncoding( "UTF-8"  );
            context.Response.ContentEncoding =  Encoding .GetEncoding( "UTF-8"  );
            context.Response.Charset =  "utf-8" ;

             string  ReportID = context.Request.QueryString[ "ReportID" ];
           

             //string filePath = "C:\\Mysoft\\MReport\\ImportFolder\\";
             string  filePath =  string  .Format( "{0}Images\\upload\\ImportDocumnetsFolder\\" , System. AppDomain .CurrentDomain.BaseDirectory);
             HttpPostedFile  file = context.Request.Files[ "Filedata"  ];
             string  originalName =  string  .Empty;
             string  fileName =  string  .Empty;
             string  fileNewName =  string  .Empty;
             if  (file !=  null  )
            {
                 if  (! Directory  .Exists(filePath))
                {
                     Directory .CreateDirectory(filePath);
                }

                originalName = file.FileName;
                fileName =   DateTime .Now.ToString( "yyyyMMddHHmmss_ffff"  ,  DateTimeFormatInfo .InvariantInfo);
                fileNewName = filePath + fileName +  "1"  +  Path  .GetExtension(originalName);
                filePath += fileName +  Path .GetExtension(originalName);

                file.SaveAs(filePath);
                 if  ( Path  .GetExtension(originalName) ==  ".txt"  ||  Path .GetExtension(originalName) ==  ".TXT"  )
                {
                     FileStream  fs =  new  FileStream (filePath,  FileMode .Open,  FileAccess  .Read);
                     StreamReader  streamReader =  new  StreamReader (filePath,  Encoding .GetEncoding( "gb2312"  ));

                     File .WriteAllText(fileNewName, streamReader.ReadToEnd(),  Encoding .UTF8);

                    fileName = fileName +  "1" ;
                }


                 ImportReportsLogic  irl =  new  ImportReportsLogic ();
                 string  jResult = irl.GetImportDocumnetsName(originalName,  "\\Images\\upload\\ImportDocumnetsFolder\\"  + fileName +  Path .GetExtension(originalName), ReportID);
            }
            context.Response.Write(  "\\Images\\upload\\ImportDocumnetsFolder\\"  + fileName +  Path .GetExtension(originalName));
        }

  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qingchunjian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值