내 응용 프로그램에서 base64string에 다른 파일을받습니다. 해당 base64String을받은 후 응용 프로그램에서 을 원래 형식으로 변환해야합니다. 이러한 파일은 pdf, txt, jpeg 이미지, bmp 이미지, gif 이미지 또는 png 이미지 형식이 될 수 있습니다. 해당 파일을 해당 형식으로 변환하기 위해이 파일의 형식을 어떻게 알 수 있습니까? base64string이이 정보를 제공하는 방법이 있습니까? 도움이 될 것입니다. '다른 파일 형식 저장
답변
base64 데이터에는 파일 데이터 자체 만 포함되며 파일 이름/확장자를 포함한 메타 데이터는 포함되어 있지 않습니다. 파일 형식을 찾으려고 디코딩 된 base64 데이터의 처음 몇 바이트를 구문 분석하려고 시도 할 수 있지만 서비스가 일부 HTTP 헤더 (예 : Content-Disposition
)에이 정보를 추가하는 것이 더 쉬운 방법입니다.
난 그저 base64string
에서 이진 형식으로 변환하고 디스크에 저장해야 할 것 같아요. 사용자가 관련 프로그램을 사용하여 열 수 있도록 올바른 파일 확장자 또는 파일 이름을 완성하기 만하면됩니다.
파일 형식을 얻는 유일한 확실한 방법은 파일과 관련된 메타 데이터를 사용하는 것입니다. 이 경우 사용할 수없는 경우 해결 방법은 파일의 처음 몇 바이트를 읽는 것입니다. 많은 일반적인 형식에서는 해당 형식의 파일이 "마법 번호"라고하는 일련의 바이트로 시작해야합니다.
이 Wikipedia article은 PDF, JPG, PNG 및 GIF 형식에 대한 숫자를 제공합니다. 일반적으로 BMP 파일은 상수 0x42 0x4D (*)로 시작합니다. 텍스트 파일에는 내용 만 포함되어 있으므로 기본 옵션이 필요합니다. 즉, 처음 몇 바이트가 알려진 매직 번호로 인식되지 않으면 텍스트 파일이라고 가정합니다.
Base-64 인코딩 단순히 파일의 이진 표현입니다. 다시 바이트 시퀀스로 변환하고 처음 몇 바이트를 평가하면 파일이 특정 유형임을 나타내는 데 충분해야합니다. 이 방법은 불완전한 해결 방법입니다. 예를 들어, 마술 번호 (예 : "BM")로 시작하는 텍스트 파일은 다른 유형의 파일로 분류 될 수 있습니다.
- 1. 다른 서버에 파일 저장
- 2. 다른 데이터베이스에 파일 저장?
- 3. 다른 Excel 파일 형식 식별
- 4. 파일 저장 프롬프트에서 적절한 확장명으로 파일 저장
- 5. rails 클립 다른 파일 형식 문제
- 6. PNG 파일 형식 엔디안?
- 7. mysql에 PDF 형식 저장
- 8. Word 2007 저장 대화 상자에 사용자 지정 파일 형식 추가
- 9. NSOpenPanel 파일 URL 형식
- 10. "다른 이름으로 저장"대화 상자 파일 이름
- 11. HTML5 웹 SQL 저장 다른 JS 파일
- 12. iPhone App의 다른 위치에 파일 저장
- 13. 동일한 솔루션의 다른 프로젝트에 리소스 파일 저장
- 14. 파일 복사 및 다른 형식으로 저장
- 15. psd 파일 형식
- 16. 안드로이드의 lmx 파일 형식
- 17. Exchange 웹 서비스 관리 API가있는 .msg 형식 파일 저장
- 18. DICOM 파일 형식 읽기
- 19. hprof 파일 형식
- 20. 자수 파일 형식?
- 21. 게임용 3D 파일 형식
- 22. 서버의 콜백 저장 파일 저장
- 23. 읽기 이진 파일 파일 형식
- 24. 파일 내용을 사용하는 파일 형식
- 25. 범용 구문 파일 형식?
- 26. 저장 파일 저장 대화 상자
- 27. 파일 시스템에 파일 저장
- 28. C#의 메타 파일 저장
- 29. 새 오디오 파일 형식
- 30. 코어 덤프 파일 형식