0

我在 .NET api 中有这个简单的控制器方法:

var fileResult = await _tempFilesService.GetFile(fileId);
return File(fileResult.Contents, fileResult.ContentType, fileId.ToString());

我在这样的节点服务器中调用这个 api,使用来自 apollo 的 RESTDataSource

this.get(`/temp-file?fileId=${fileId}`)

从我所看到的情况来看,它会自动解析正文并给我一个字符串。我不能修改这个行为,所以我必须使用这个字符串。

这里是

我不知道该怎么办。我可以在节点服务器中以某种方式处理它,或者只是将它发送到我的反应前端并在那里处理它。我尝试通过首先将它放入 Uint8Array 中来制作一个 blob

const byteArray = new Uint8Array(THE_STRING);
const blob = new Blob([byteArray], { type: "application/octet-stream" });

然后这样做URL.createObjectURL(blob),我尝试(在节点服务器上)将其放入缓冲区,然后执行 toString,但它只返回无效文件。老实说,我不知道自己在做什么。

我怎样才能下载这个文件?

4

0 回答 0