我有一个使用csv上传的模块, 该文件已成功上传,但对于 c#csvhelper使用一次后成功执行 但连续使用后,会产生错误:
CsvHelper.ReaderException: No header record was found.
at CsvHelper.CsvReader.ParseNamedIndexes()
at CsvHelper.CsvReader.ReadHeader()
但是当api服务器停止并重新运行时,它已修复。 我想每次获得并验证标题时 用户上传,但显示此错误
这是我的代码:
using (var fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read))
using (var reader = new StreamReader(fs, Encoding.GetEncoding("shift_jis")))
using (var csv = new CsvReader(reader))
{
var result = new ExpandoObject();
try
{
var culture = new CultureInfo("ja-JP");
await csv.ReadAsync();
csv.Configuration.Delimiter = ",";
csv.ReadHeader();
csv.Configuration.HasHeaderRecord = true;
csv.Configuration.RegisterClassMap<PatientDetailMap>();
var headers = csv.Context.HeaderRecord;
var records = csv.GetRecords<PatientsDetails>().ToList();
但最终我还是希望以此来解决错误:
reader.BaseStream.Position = 0;
reader.DiscardBufferedData();
如果您对此有任何想法,我想问问您。 拜托。