我有一个REST服务,它返回一个不同类型的文件流,并从提示下载的HTML页面简单地连接到服务。
我的REST服务如下所示:
[WebGet(UriTemplate = "downloadfile/{recordId}/{fileType}")]
public Stream DownloadFile(string recordId, string fileType)
{
string downloadFilePathdoc = "C:\\WORKSPACE\\WIP Code Files\\FileDownloadPOC\\SampleDownloadFileWord.doc";
String headerInfodoc = "attachment; filename=SampleDownloadFileWord_" + recordId + ".doc";
WebOperationContext.Current.OutgoingResponse.Headers["Content-Disposition"] = headerInfodoc;
WebOperationContext.Current.OutgoingResponse.ContentType = "application/octet-stream";
return File.OpenRead(downloadFilePathdoc);
}
我的HTML页面如下:
function GetFile(fileType)
{
var _recId = $("#randomguid").val();
window.location.href = "http://localhost:6070/RESTFileDownload/Service1.svc/downloadfile/" + _recId + "/" + fileType;
}
现在我要做的是将方法作为POST,这样我就可以将对象作为参数发送,并且仍能以某种方式从客户端下载文件。
如果我使用POST方法,我无法找到从浏览器端提示下载文件的方法。响应来自文件的内容,我无法弄清楚如何将其呈现为文件并将其下载。
非常感谢任何帮助。