【发布时间】:2020-12-02 09:29:12
【问题描述】:
创建一个文件并上传它,我还想下载创建的文件。文件创建成功,但是当下载创建的文件时,我的以下代码没有任何反应。这是我的代码,在单击按钮时调用但是不能下载文件。还检查文件是否存在。它返回 true 但这不会给我任何错误,并且当此代码运行时没有任何反应。
[HttpPost]
public ActionResult DownloadGetOdds(string filename)
{
string filepath = Path.Combine(Server.MapPath("~/UploadFiles"), filename + ".json");
if (file.FileExist(filepath) == true)
{
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename+".json");
Response.Flush();
Response.TransmitFile(Server.MapPath("~/UploadFiles/") +filename + ".json");
Response.End();
return Json(new { result = "SUCCESS" });
}
else
{
return Json(new {result = "Server Error" });
}
}
}
文件创建代码
public string CreateJsonFile(string path, string data)
{
string status = "";
try
{
using (StreamWriter file = File.CreateText(path))
{
string _data = data;
JsonSerializer serializer = new JsonSerializer();
//serialize object directly into file stream
serializer.Serialize(file, _data);
}
status = "Successfully file created";
}
catch(Exception ex)
{
status = ex.Message;
}
return status;
}
【问题讨论】:
-
旁注:从一个动作(文件和 JSON)返回两种类型的响应时,您期望发生的事情非常令人困惑。也不清楚为什么您认为问题中需要文件创建代码...
标签: c# json download filestream