我有一个返回File
的函数。该文件由String创建,如下所示:
返回文件(System.Text.Encoding.Default.GetBytes(data.getCSV())," text / csv"," Report.csv");
如何将此文件生成到我的文件夹中的.csv文件?
答案 0 :(得分:2)
根据您对File()
方法的使用,您似乎在控制台应用程序中使用(Api)Controller
。不要这样做。将业务逻辑放在类库中:
public byte[] GenerateCsv()
{
// ...
return System.Text.Encoding.Default.GetBytes(data.getCSV());
}
然后你可以这样做:
var csvData = BusinessLogic.GenerateCsv();
System.IO.File.WriteAllBytes("Report.csv", csvData);
同样来自(Api)Controller
:
var csvData = BusinessLogic.GenerateCsv();
return File(csvData, "text/csv", "Report.csv");
答案 1 :(得分:0)
var directory = Directory.GetCurrentDirectory(); // assuming that the folder you are looking for is the project directory.
using(var fs = new FileStream(directory + fileName + extension))
{
using(var sw = new StreamWriter(fs))
{
//use sw to write in the appropriate way.
}
}
答案 2 :(得分:0)
也许你的意思是
string path = System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
您可以获取文件夹的路径,然后您可以在此文件夹中找到csv文件,然后覆盖它(或执行其他操作)。