ในคลาส ApiController ของฉันฉันมีวิธีการดังต่อไปนี้เพื่อดาวน์โหลดไฟล์ที่สร้างโดยเซิร์ฟเวอร์
public HttpResponseMessage Get(int id)
{
try
{
string dir = HttpContext.Current.Server.MapPath("~"); //location of the template file
Stream file = new MemoryStream();
Stream result = _service.GetMyForm(id, dir, file);
if (result == null)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
result.Position = 0;
HttpResponseMessage response = new HttpResponseMessage();
response.StatusCode = HttpStatusCode.OK;
response.Content = new StreamContent(result);
return response;
}
catch (IOException)
{
return Request.CreateResponse(HttpStatusCode.InternalServerError);
}
}
ทุกอย่างทำงานได้อย่างสมบูรณ์แบบยกเว้นชื่อไฟล์เริ่มต้นที่ดาวน์โหลดเป็นรหัสของมันดังนั้นผู้ใช้อาจต้องพิมพ์ชื่อไฟล์ของตัวเองเมื่อทำการบันทึกในแต่ละครั้ง มีวิธีการตั้งชื่อไฟล์เริ่มต้นในรหัสด้านบนหรือไม่