#javascript #fine-uploader
#javascript #отлично загружаемый
Вопрос:
Когда включено одновременное разделение на части, приложение отправляет окончательный запрос POST на выбранную вами конечную точку, чтобы сообщить вам, что загрузка завершена. Я хотел бы использовать свою одну и ту же конечную точку для всех запросов (а не только для последнего сообщения о параллельной обработке фрагментов), но я не вижу в этом сообщении ничего действительно уникального. Например, в документации говорится следующее:
Fine Uploader также будет включать следующие параметры, которые описывают базовый файл:
qquuid: UUID базового файла. qqfilename: имя базового файла. qqtotalfilesize: размер базового файла в байтах. qqtotalparts: общее количество частей, составляющих базовый файл.
Но все эти элементы являются стандартными значениями, отправляемыми с другими запросами POST. Есть ли что-нибудь уникальное в последнем СООБЩЕНИИ, которое я могу уловить в операторе типа if / then? Прямо сейчас у меня это работает, исходя из того, является ли это составным сообщением или нет. Если это так, оно должно содержать данные файла, а если это не так, это должно быть конечное сообщение. Есть ли другой индикатор, который я мог бы проверить вместо этого? Нравится что-то конкретное, говорящее «параллельное разбиение завершено?»
У меня это работает так, как есть, но просто кажется довольно сложным делать это так, как я это делаю.
Ответ №1:
Если вы хотите, чтобы СООБЩЕНИЕ «все фрагменты выполнены» отправлялось на ту же конечную точку, но требуется простой способ отличить этот запрос от запросов на загрузку, просто включите параметр запроса в конце URL.
Например:
request: {
endpoint: "/my/uploads"
},
chunking: {
enabled: true,
success: {
endpoint: "/my/uploads?done"
}
}
Теперь вы можете определить, ссылается ли сообщение на сообщение chunking.success или нет, просто посмотрев на наличие параметра «готово» в URI запроса на стороне сервера.