어떤 형식 으로든 파일을 다운로드하고 싶습니다. 피라미드 프레임 워크를 사용하여 백엔드에 PDF, JPEG, PNG, XLSX, CSV 등 다운로드 API는 다음과 같이 FileResponse을 보내는 : 출력으로 파일을주고 예상대로ReactJS 이미지/pdf 파일 다운로드가 작동하지 않습니다.
def delivery_item_download_view(request, *args, **kw):
context = request.context
item_row = context.item_row
if item_row and item_row["deleted_at"] is None:
print(request.upload_dir+'/'+item_row["file_name"]+'.'+item_row["file_extension"])
response = FileResponse(
request.upload_dir+'/'+item_row["file_name"]+'.'+item_row["file_extension"],
request=request,
)
response.headers["attachment"] = item_row["name"];
return response
이, 사용하여 실행 POSTMAN 작동합니다. 그러나 ReactJS를 사용하여 구현을 시도했을 때 예상대로 작동하지 않습니다. 내 고객 코드는 다음과 같습니다.
onDownloadItem= (item) => {
console.log("item id is:", item.item_id)
var apiBaseUrl = "https://dev.incodax.com/api/deliveries_items/"+ item.item_id+ "/download";
fetch(apiBaseUrl, {
method: "GET",
}).then((res) => {
fileDownload(res,item.file_name)
console.log(res)
})
}
이 파일 다운로드 기능은 단순히 파일을 다운로드하지만 내용은 포함하지 않습니다. 다운로드 한 파일에서 다음과 같이 볼 수 있습니다 :
[object Response]
서버로부터 200 응답을 받았습니다. 그래서 나는 서버 측 코드에 문제가 있다고 생각하지 않는다. 클라이언트에서 어떻게 처리 할 수 있습니까? 그냥 파일을 사용하는 사용자를 리디렉션하는 경우 사전에
감사
예 나는 그것의 벌금을 것 같아요. –