>  기사  >  백엔드 개발  >  NodeJ는 Golang API로 파일을 가져옵니다.

NodeJ는 Golang API로 파일을 가져옵니다.

WBOY
WBOY앞으로
2024-02-08 23:00:101183검색

NodeJs 将文件获取到 Golang API

php 편집자 Baicao는 최근 Node.js를 사용하여 Golang API에 파일을 가져오는 흥미로운 기술 애플리케이션을 발견했습니다. 경량 JavaScript 실행 환경인 Node.js는 효율적인 IO 작업과 비차단 기능으로 유명합니다. 고성능 프로그래밍 언어인 Golang은 동시 작업 및 네트워크 통신을 처리하는 데 탁월한 성능을 발휘합니다. 이 두 가지를 결합하면 Node.js에서 파일을 얻고 추가 ​​처리를 위해 해당 파일을 Golang API에 전달할 수 있어 개발자에게 보다 유연하고 효율적인 솔루션을 제공할 수 있습니다. 이 기사에서는 Node.js를 사용하여 Golang API에 파일을 가져오는 방법을 소개하고 실제 프로젝트에서 해당 응용 프로그램 시나리오를 탐색합니다.

질문 내용

일부 구조를 사용하여 node-fetch를 통해 golang API 파일에 게시하려고 합니다. Postman에서는 만들 수 있지만 NodeJS에서는 만들 수 없습니다

안녕하세요. 나는 막다른 골목에 이르렀고 모든 것을 시도했습니다...

golang API에 요청해야 하는데 Postman에서 만들 수 있습니다. 다음과 같습니다. 우편 배달부 요청

NodeJs에서 반복해야 하는데 API에서 계속 잘못된 요청을 받습니다

이것은 Node에 있는 내 코드입니다

으아악

Postman이 생성한 코드와의 차이점은 formdata.append("f2b07a43-f79f-4033-ab2d-bb3176934679", fileInput.files[0], "/file_0.jpg");에만 있습니다. 내 대신에 " rel="nofollow noreferrer">fs.readFileSync()formdata.append("f2b07a43-f79f-4033-ab2d-bb3176934679", fileInput.files[0], "/file_0.jpg"); 和我做而不是 formData.append (upl.uuid, fs.readFileSync(文件));

解决方法

fs.readFileSync() 返回 string Buffer仅包含文件本身的内容。这意味着您仅将文件的原始内容传递给 FormData.append(),这又意味着您对 fetch 的调用会将生成的键/值对视为文件 - 这仅在使用 BlobFile 类型传递 value 내용만 포함하는 string 또는 Buffer를 반환합니다. 파일 자체. 이는 파일의 원시 콘텐츠만 FormData.append()에 전달한다는 의미이며, 이는 fetch 호출이 결과 키/값을 처리한다는 의미입니다. 파일용 쌍 - 이는 Blob 또는 File 유형(MDN)을 사용하여 을 전달할 때만 발생합니다.

대신 파일 내용을 Array 转换为新的 Blob 对象,然后将 blob 对象和所需文件的名称传递给 FormData 필드로 읽으세요(이 질문에 대한 답변에 대한 빠른 팁 ). 으아악

위 내용은 NodeJ는 Golang API로 파일을 가져옵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제