Передача файлов по ajax - jQuery
Друзья, как правильно обрабатывать массив файлов при передаче и сохранить структуру?
При попытке передать массив файлов он разбивает неверно, кто-то может пояснить тупому, почему так происходит как решить?:help: Array ( [file] => Array ( [name] => Array ( [0] => 1402236_566802636708984_1354256864_o.jpg [1] => 287481_456592524374335_1348353782_o.jpg ) [type] => Array ( [0] => image/jpeg [1] => image/jpeg ) [tmp_name] => Array ( [0] => C:\wamp\tmp\php5A1E.tmp [1] => C:\wamp\tmp\php5A21.tmp ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 217360 [1] => 144071 ) ) ) |
Цитата:
|
Хм, логичнее что он должен иметь такой вид
Array ( [file] => Array ( [0] => Array ( [name] => 1402236_566802636708984_1354256864_o.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\php35C1.tmp [error] => 0 [size] => 217360 ) [1] => Array ( [name] => 964570_566803006708947_840223346_o.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\php35C4.tmp [error] => 0 [size] => 518594 ) ) ) |
Цитата:
<form id="testForm" method="post" class="form-horizontal"> <input type="text" name="laod[]"><br> <input type="file" name="files[]" multiple /> <br> <input type="file" name="files[]" multiple /><br> <input type="file" name="file"> <br> <input type="button" name="save" value="save" onclick="sendRequestFormAjax(this,event);"> </form> formData = new FormData(); $.each(form.find("input[type=file]"), function(i, iFiles) { var name = $(iFiles).attr("name"); formData.append(name, iFiles.files[0]); }); |
Так не получится, вам доступно управлять только индексами полей, а не ключами name, type... Да и не нужно этого, какие проблемы?
|
Если поле multiple зачем же их два?
|
Цитата:
Цитата:
|
Цитата:
|
Ajax передаст такой массив $_FILES, который еще надо разобрать, что бы привести к нормальному виду.
Array ( [files] => Array ( [name] => Array ( [0] => 1402236_566802636708984_1354256864_o.jpg [1] => 287481_456592524374335_1348353782_o.jpg ) [type] => Array ( [0] => image/jpeg [1] => image/jpeg ) [tmp_name] => Array ( [0] => C:\wamp\tmp\php5A1E.tmp [1] => C:\wamp\tmp\php5A21.tmp ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 217360 [1] => 144071 ) ) ) |
Цитата:
|
Часовой пояс GMT +3, время: 08:26. |