Input type="file" + onChange: файл из e.target.files[0]. Превью картинки: URL.createObjectURL(file) или FileReader.readAsDataURL. Drag and drop зона: onDragOver (preventDefault), onDrop (e.dataTransfer.files). Прогресс загрузки: XMLHttpRequest с upload.onprogress или fetch с ReadableStream. Валидация: проверяй file.type, file.size до загрузки. Multiple files: input multiple, итерируй FileList. Превью PDF: PDF.js или embed. Не забудь URL.revokeObjectURL после использования. FormData для отправки.
Как реализовать загрузку файла с превью?
Middle
246 просмотровAFK Offer AI
Что такое event bubbling и capturing?