Не нужно заново изобретать колесо.
Плагин загрузки файлов jQuery (от heyageek) делает все, что вам нужно, и минимален и проверен временем. (я успешно использовал его в течение многих лет)
Обратите внимание, что у него есть пример кода для клиентской стороны (jQuery) и для сервера (PHP).
Вы захотите взглянуть на функции formData
и / или dynamicFormData
, которые позволяют собирать другие данные перед отправкой и отправлять их (вместе с загруженным файлом) нафайл вашей внутренней обработки.
dynamicFormData: function()
{
//var data ="XYZ=1&ABCD=2";
var data ={"XYZ":1,"ABCD":2};
return data;
}
В js / jQuery словари (Python) просто называются объектами.