2

我有一个用 Core 2 编写的 Web 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 是否可行?

我们确实成功接收了文件,并且我们确实在内存中有数据,我只需要在浏览器上呈现它的方法。

非常欢迎任何建议

4

0 回答 0