将 Csv 上传到解决方案资源管理器

Upload Csv to solution explorer

我正在尝试构建一个应用程序,用户可以在其中上传 csv 文件并将其转换为 XML。目前我的控制器可以在临时文件夹中创建 .txt 文件。但是,当我打开 txt 文件时,它全部损坏如下:

我有两个问题 1. 我怎样才能使文件正确显示,即以逗号分隔的项目? 2. 如何更改我的代码以将文件上传到我的解决方案资源管理器

这里是相关的控制器代码:

[HttpPost("UploadFiles")]
    public async Task<IActionResult> FileUpload(List<IFormFile> files)
    {
        long size = files.Sum(f => f.Length);
        var filePaths = new List<string>();
        foreach (var formFile in files)
        {
            if(formFile.Length > 0)
            {
                var filePath = Path.GetTempPath()+ Guid.NewGuid().ToString()+".txt";
                filePaths.Add(filePath);

                using (var stream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
                {
                    await formFile.CopyToAsync(stream);
                }
            }
        }
        return Ok(new { count = files.Count, size, filePaths });
    }

如有任何建议,我们将不胜感激 提前致谢

当文件损坏时,我认为转换不起作用。现在尝试上传它而不进行任何转换。

对于第二个问题,您可以进行以下操作

var filePath = Path.Combine(AppContext.BaseDirectory, $"{Guid.NewGuid().ToString()}.csv"); // or whatever extension you are actually having without modifying the original extension

这会将文件存储在 "bin" 目录路径或源代码所在的目录中。