首页 > Windows开发 > 详细

.net core Api上传Txt文档读取并且解决乱码问题

时间:2022-05-27 19:33:01      阅读:15      评论:0      收藏:0      [点我收藏+]

.net core Api上传Txt文档读取并且解决乱码问题

一、直接先上关键:注意下方的strm 是 IFormFile file对象,并且此文只针对API上传TXT所处理。

  1. 读取的代码:

using (StreamReader reader = new StreamReader(strm, Encoding.GetEncoding("GB2312")))
                {

                    string line = null;
                    while ((line = reader.ReadLine()) != null)
                    {
                         //  line是读取到这一行的数据
                    }
                }    

  2. 保存txt文件并且的代码:

string name = Guid.NewGuid().ToString() + ".txt";
                        string filePath = "/Uploads/txt/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + name;

                        string rootPath = Directory.GetCurrentDirectory();
                        string path = $@"{rootPath}/Uploads/txt/" + DateTime.Now.ToString("yyyy-MM-dd");
                        string pathRq = $@"/Uploads/txt/" + DateTime.Now.ToString("yyyy-MM-dd") + "/" + name;

                        if (!Directory.Exists(path))
                        {
                            Directory.CreateDirectory(path);
                        }

                        using (FileStream fs = System.IO.File.Create(path + "/" + name))
                        {
                            StreamWriter sw = new StreamWriter(fs);
                            string str = "123456"sw.WriteLine(str);

                            sw.Flush();
                            sw.Close();
                        }

3. 如果导入的文件中存在中文,那么就会出现乱码问题。解决方案如下:

1. 指定读取文件是GB2312
using (StreamReader reader = new StreamReader(strm, Encoding.GetEncoding("GB2312")))
2. 注入:Encoding到容器中
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

 

谢谢学习!!!关注我,共同进步

.net core Api上传Txt文档读取并且解决乱码问题

原文:https://www.cnblogs.com/wangjinya/p/15352134.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!