无法从服务器保存 Excel 文件

Unable to save Excel file from server

我使用 .NET 中的 Aspose 库和控制器生成一个 Excel 文件 returns 这个:

public async Task<IActionResult> GetFile()
{
  byte[] bytes = null;    
  await Task.Run(() => bytes = GetBytes());    
  return new FileContentResult(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
  {
    FileDownloadName = "Template.xlsx"
  };
}

在 React 方面,我从 redux 发送这样的请求

dispatch({
  [CALL_API]: {
    method: HttpMethod.GET,
    types: [
      types.GET_FILE_REQUEST,
      types.GET_FILE_SUCCESS,
      types.GET_FILE_ERROR,
    ],
    endpoint: `getFile`,
    useLoader: true,
    responseType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
  },
}).then((action) => {
  if (!action.error) {
    download({
      name: fileName,
      data: action.response,
      type: action.response.type,
    });
  }
});

我收到一个错误信息 "Unexpected token P in JSON at position 0"。在服务器上,我尝试保存文件并检查其在磁盘上的有效性,没问题。我还更改了正面和背面的响应类型值,但结果始终相同。

知道缺陷在哪里吗?

在服务器和客户端上进行这些更改后设法正确下载文件

// server
public async Task<IActionResult> GetFile()
{
  Stream stream = null;    
  await Task.Run(() => stream = GetStream());    
  return File(stream, "application/octet-stream");
}

// client
dispatch({
  [CALL_API]: {
    method: HttpMethod.GET,
    headers: {
      'Content-Type': 'application/json',
    },
    types: [
      types.GET_FILE_REQUEST,
      types.GET_FILE_SUCCESS,
      types.GET_FILE_ERROR,
    ],
    endpoint: 'getFile',
    useLoader: false,
    cacheBust: false,
    responseType: ResponseType.Blob,
  },
}).then((data) => {
  download({
    name: fileName,
    data: data.response,
    type: data.response.type,
  });
});