我有一个用Core 2编写的Web API,该API返回FileContentResult。
您需要使用标头中的Auth Token进行GET才能起作用。 如果您使用邮递员尝试,则文件可以很好地呈现,并且在MVC视图中也可以很好地呈现。
现在,我们有一个外部Salesforce系统试图使用API,但是由于APEX语言的限制,他们不得不使用Javascript将令牌注入GET方法。
示例代码:
$(document).ready(function() {
$.ajax({
type: 'GET',
url: 'https://file-store.com/document/{! docId}',
headers: {
'Authorization': 'Bearer {! oauthToken}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
}).done(function (data) {
console.log(data);
});
});
这似乎很有效,因为返回的“数据”包含一个文件-或至少是一个看起来像序列化的文件的花键数组。
但是,似乎没有办法使Web视图呈现出来。
我尝试使用嵌入
var object = '<embed scr="' + data + '" />';
或使用iframe
$('#iFrame').html(data);
或
$('#iFrame').html(object);
还有很多其他事情,但到目前为止都没有成功。
我确实知道在MVC中这很简单,但是使用javascript完全可行吗?
我们确实成功接收了文件,并且内存中确实有数据,我只需要在浏览器中呈现它的方法即可。
任何建议都非常欢迎