에셋 라이브러리
각 프로젝트에는 미디어 라이브러리가 있습니다. 파일은 한 번 업로드하면 고정된 id가 부여되고, 어떤 레코드의 이미지, 비디오, 파일 필드든 그 id로 참조합니다.
업로드 방식
업로드는 세 단계입니다. createFileUpload는 1시간 동안 유효한 업로드 URL을 반환하고, 클라이언트가 바이트를 스토리지로 직접 보내며, 확인 호출이 파일을 반환합니다. 바이트는 GraphQL 엔드포인트를 거치지 않습니다. 이 경로에는 파일별 크기 제한이 없고, 확인 시점의 검사는 스토리지 허용량 기준입니다. 한 번의 REST 호출로 올리는 업로드는 최대 10 MB의 작은 파일을 받습니다.
로그인한 사용자의 브라우저는 공개 키와 그 사용자의 토큰만으로 전체 업로드를 실행할 수 있습니다. 그러면 파일은 그 사용자의 것이 되며, 기본적으로 비공개입니다.
이미지에서 읽는 정보
JPEG, PNG, WebP, GIF의 경우 Fóir는 업로드가 확인될 때 너비, 높이, blurhash 플레이스홀더, 대표 색상을 추출합니다. 이미지 필드는 URL과 함께 이 네 가지를 모두 반환합니다. 그 외의 크기와 형식은 이미지 변환으로 얻습니다.
폴더, 대체 텍스트, CLI
파일은 폴더에 둘 수 있고 대체 텍스트를 가질 수 있으며, 공개 API는 둘 다 파일과 함께 반환합니다. 터미널에서는 foir media로 파일을 업로드, 나열, 업데이트, 삭제, 복원합니다.
삭제와 복원
삭제는 소프트 삭제이며 복원으로 되돌릴 수 있습니다. 저장된 객체를 제거하는 것은 별도의 영구 삭제입니다. 삭제하려면 files:delete 스코프가 필요하며, 파일 쓰기 액세스가 이를 의미하지는 않습니다.
거부되는 항목
HTML, JavaScript, XML 업로드는 거부됩니다. SVG는 허용되며, 직접 열면 스크립트를 차단하는 정책이 적용된 다운로드로 제공됩니다.