.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