我有一个下载文本文件的api。 它工作正常,并在我的文本文件中保存数据。 result image
到目前为止,我已经完成了以下工作:
string data= "1";
HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
result.Content = new StringContent(data);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
result.Content.Headers.ContentDisposition.FileName = "file.txt";
return result;
我想要的是什么:
我想在我的result.Content中放一个List。样本列表数据如下:
List<BlobUploadModel> list= new List<BlobUploadModel>();
BlobUploadModel models = new BlobUploadModel();
models.FileName = "1";
list.Add(models);
BlobUploadModel models1 = new BlobUploadModel();
models1.FileName = "2";
list.Add(models1);
在我的文本文件中,它显示:
怎么做?
答案 0 :(得分:0)
你的问题有点不清楚我会回答我的想法,如果不是,请在评论中告诉我。
作为List<T>
的内容是内存中的数据分离结构,无法保存在文本文件中。您可以在文件中保存的内容为string
。
有很多方法可以做到这一点,但这是您最简单的方法:
var dataAsString = string.Join("\n", list.Select(obj => obj.FileName));
您现在可以将dataAsString
保存在文件中。
答案 1 :(得分:0)
示例图片中的文字文件没有显示列表 - 它只是显示一个文本文件,其中包含由换行符分隔的数据。
考虑到这一点,从列表中提取一些换行符分隔数据的一种方法可能是:
// The filenames from the list
var filenames = list.Select(model => model.FileName);
// Filenames joined together in a newline-separated string
var data = string.Join(Environment.NewLine, filenames);