질문:
FormData 개체 내에서 File 개체를 어떻게 수정할 수 있습니까? FileList를 만들고 길이를 설정하여 파일이 FormData에 반영되는지 확인합니다. 개체?
답변:
DataTransfer 사용
원본 포스터(OP)에서 발견한 바와 같이 DataTransfer API는 다음을 제공합니다. 현재의 제한에도 불구하고 이 작업을 수행하는 방법입니다(Blink에서만 지원, FF >= 62). DataTransferItemList를 통해 변경 가능한 FileList를 생성하면 HTML 파일 입력 요소의 FileList에 임의의 파일을 설정할 수 있습니다.
// DataTransferItemList에 File 객체를 추가합니다
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
// 입력 요소의 files 속성을 다음으로 설정합니다. DataTransfer 객체의 파일
inp.files = dT.files;
<input type="file">
이 접근 방식은 파일 입력 요소 내의 FileList를 효과적으로 수정하며 업데이트된 파일은 FormData에 반영됩니다. object.
제한 사항:
이 기술은 현재 브라우저 지원이 제한되어 있다는 점에 유의하는 것이 중요합니다. 또한 DataTransfer 생성자를 지원하지 않는 브라우저에는 일부 대체 동작이 필요할 수 있습니다.
위 내용은 FormData 개체 내에서 파일 개체 및 FileList 길이를 어떻게 수정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!