#php #jquery #ajax #codeigniter #upload
#php #jquery #ajax #codeigniter #загрузка
Вопрос:
Я хочу загружать файлы, используя несколько входных файлов…Ниже приведен некоторый HTML-код…
<input id="image_1" type="file" name="images[]" class="file_input" multiple />
<input id="image_2" type="file" name="images[]" class="file_input" multiple />
И здесь я написал цикл jquery для каждого ввода:
$(document).ready(function(){
$('#save').on('click', function(){
var fileInputs = $('.file_input');
var formData = new FormData();
$.each(fileInputs, function(i,fileInput){
if( fileInput.files.length > 0 ){
$.each(fileInput.files, function(k,file){
formData.append('images[]', file);
});
}
});
$.ajax({
method: 'post',
url:"/multi_uploader/process",
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function(response){
console.log(response);
}
});
});
});
Для загрузки изображений есть моя функция контроллера
function upload_images(){
$admin_setting = $this->data;
$config['upload_path'] = $admin_setting['upload_IMG_path'];
$config['allowed_types'] = 'jpg|png|gif|jpeg';
$config['max_size'] = '8192';
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
for($count = 0; $count<count($_FILES["myfile"]["name"]); $count ){
$_FILES["file"]["name"] = $_FILES["myfile"]["name"][$count];
$_FILES["file"]["type"] = $_FILES["myfile"]["type"][$count];
$_FILES["file"]["tmp_name"] = $_FILES["myfile"]["tmp_name"][$count];
$_FILES["file"]["error"] = $_FILES["myfile"]["error"][$count];
$_FILES["file"]["size"] = $_FILES["myfile"]["size"][$count];
if($this->upload->do_upload('file')){
$data = $this->upload->data();
$response[] = $data;
}
}
}
Я ожидаю такого результата..
$array = array(
array(
'filename' => '765c3989a0735de1fa51572231b1fa0c.png',
'inputid' => 'image_1',
),
array(
'filename' => '58abd40a3bbe187e5a79c48295021bcd.png',
'inputid' => 'image_2',
)
);
Могу ли я каким-либо образом получить этот результат.Я хочу, чтобы этот результат был таким, потому что мне нужно ввести новые имена файла через уникальные идентификаторы каждого поля ввода в другой ввод текстового типа..
Комментарии:
1. Вы не можете получить информацию, которая не была отправлена на сервер в первую очередь. Вы добавили все эти поля под именем параметра
images[]
, и информация, которая идентифицирует поле ввода, из которого они пришли, в настоящее время вообще не отправляется на сервер.2. Да .. я знаю, что это не отправлено .. и я не знаю, как отправить их, пожалуйста, помогите..
3. Ну, либо добавьте их под другим именем параметра (но тогда связывание загруженного файла с идентификатором может усложниться), либо передайте эту информацию в имени параметра, под которым вы уже загружаете эти файлы (но вам, возможно, придется изменить логику на стороне сервера, которая обрабатывает эти загрузки несколько раз).бит.)
4. @Dinesh Sahu привет, ты хочешь
2
, чтобы входной файл с множественным атрибутом вставлял изображение с помощью ajax с кнопкой отправки??5. пожалуйста, покажите нам ваше требование с помощью изображения.