使用jQuery Ajax从REST服务下载文件

时间:2016-11-07 21:12:42

标签: ajax file rest download

我有一个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方法,我无法找到从浏览器端提示下载文件的方法。响应来自文件的内容,我无法弄清楚如何将其呈现为文件并将其下载。

非常感谢任何帮助。

0 个答案:

没有答案