디스크에 저장하지 않고 Go의 multipart.Part에서 multipart.File을 얻는 방법은 무엇입니까?
Go 언어 개발 과정에서 Apple 편집자 Apple은 양식 업로드 파일을 처리하기 위해 multipart 패키지를 사용할 때 multipart.Part 개체에서 multipart.File을 가져와야 하는 경우가 종종 있습니다. 그러나 표준 라이브러리의 멀티파트 패키지는 multipart.File을 얻는 방법을 직접 제공하지 않고 기본적으로 파일을 디스크에 저장합니다. 그렇다면 이 제한을 우회하고 multipart.Part에서 직접 multipart.File을 가져올 수 있는 방법이 있습니까? 다음으로 디스크에 저장하지 않고 Go에서 multipart.Part로부터 multipart.File을 얻는 방법을 소개하겠습니다.
질문 내용
my go API에는 아래와 같이 r.Body
中提取 multipart.File
에서 전달하여 잘 작동하던 함수가 있습니다
저는 multipart.File
를 사용하여 아래와 같이 minio 클라이언트를 사용하여 s3 API에 업로드합니다
이제 추가 양식 데이터를 추가했으므로 더 이상 r.Body를 사용하여 이 작업을 수행할 수 없는 것 같습니다. 아래 코드에 표시된 것처럼 "양식 파일을 검색하는 중 오류가 발생했습니다"라는 메시지가 나타납니다.
이 질문을 바탕으로 multipart.Part에서 양식 데이터를 가져오기 위해 MultipartReader
를 구현했습니다.
부분에는 multipart.File
이 없으므로 가능하면 디스크에 쓰고 다시 읽지 않고 해당 부분을 구현해야 합니다.
이것은 내 코드입니다
file, handler, err := r.FormFile("file")
해결 방법
이미 양식의 일부를 스트리밍하고 있으므로 지금은 FormFile
,您必须自己读取该文件。使用 part.Read
读取文件的字节,或者复制文件等。请注意,part
实现了 io.Reader
에 전화할 수 없으므로 파일처럼 읽을 수 있습니다.
위 내용은 디스크에 저장하지 않고 Go의 multipart.Part에서 multipart.File을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Go Crawler Colly의 대기열 스레딩 문제는 Colly Crawler 라이브러리를 GO 언어로 사용하는 문제를 탐구합니다. � ...

Go Language의 부동 소수점 번호 작동에 사용되는 라이브러리는 정확도를 보장하는 방법을 소개합니다.

언어의 멀티 스레딩은 프로그램 효율성을 크게 향상시킬 수 있습니다. C 언어에서 멀티 스레딩을 구현하는 4 가지 주요 방법이 있습니다. 독립 프로세스 생성 : 여러 독립적으로 실행되는 프로세스 생성, 각 프로세스에는 자체 메모리 공간이 있습니다. 의사-다일리트 레딩 : 동일한 메모리 공간을 공유하고 교대로 실행하는 프로세스에서 여러 실행 스트림을 만듭니다. 멀티 스레드 라이브러리 : PTHREADS와 같은 멀티 스레드 라이브러리를 사용하여 스레드를 만들고 관리하여 풍부한 스레드 작동 기능을 제공합니다. COROUTINE : 작업을 작은 하위 작업으로 나누고 차례로 실행하는 가벼운 다중 스레드 구현.

C 언어 표준 라이브러리에는 "sum"이라는 기능이 없습니다. "합"은 일반적으로 프로그래머에 의해 정의되거나 특정 라이브러리에서 제공되며 기능은 특정 구현에 따라 다릅니다. 일반적인 시나리오는 배열에 대한 요약되며 링크 된 목록과 같은 다른 데이터 구조에서도 사용할 수 있습니다. 또한 "Sum"은 이미지 처리 및 통계 분석과 같은 필드에서도 사용됩니다. 탁월한 "합"기능은 가독성, 견고성 및 효율성이 우수해야합니다.

Go Language의 문자열 인쇄의 차이 : println 및 String () 함수 사용 효과의 차이가 진행 중입니다 ...

Go Language에서 메시지 대기열을 구현하기 위해 Redisstream을 사용하는 문제는 Go Language와 Redis를 사용하는 것입니다 ...

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...

골란드의 사용자 정의 구조 레이블이 표시되지 않으면 어떻게해야합니까? Go Language 개발을 위해 Goland를 사용할 때 많은 개발자가 사용자 정의 구조 태그를 만날 것입니다 ...
