Я хочу загрузить изображение с предварительным просмотром после использования jQuery dropzone.спросить о jquery upload несколько изображений
Сначала, если вы загружаете только одно изображение с помощью dropzone, изображение появляется, а уникальное имя - с именем даты + rndom.
это первый способ,
второй путь, я хочу добавить одно изображение и дать уникальное имя и тоже должны сохранить его в базе данных тоже. Но когда второе изображение загружается, оно заменяет первое изображение
Есть ли способ сделать это
===================== ======================================
Это сценарий для выполнения нескольких загружаемых изображений, Место на виде: header.php. Я сделал ту же функцию для другой функции dropzone в header.php. просто замените идентификатор тега div и тег ввода в представлении
<script type="text/javascript">
$(function() {
var name = Date.now();
var key = Math.floor((Math.random() * 99999999999) + 1);
var unique = name+'-'+key;
$("div#eyeDropZone").dropzone({
url:'http://localhost/work/uploadimage/multiple/'+unique,
paramName:'foto', // param to upload image name to db
uploadMultiple:false,
maxFiles:2,
acceptedFiles: '.jpg',
maxFilesize:1,
addRemoveLinks: 'no',
dictFileTooBig: "File size ({{filesize}}MB). Max File Size: {{maxFilesize}}MB.",
dictInvalidFileType: "JPG Only",
init: function() {
this.on("maxfilesexceeded", function(file) {
this.removeAllFiles();
this.addFile(file);
});
this.on("removedfile", function(file, xhr, formData) {
$("#filename").val('');
});
},
accept: function(file, done) {
var filename = file.name;
$("#filename").val(unik);
done();
}
});
});
</script>
это контроллер, этот код был разработан другими пользователями. ему нужна моя помощь, чтобы немного поменяться, при первой загрузке сначала загрузите изображение в папку с помощью jQuery dropzone и удалите изображение из папки, а затем вставьте в базу данных, также сохраните изображение в папку.
public function birthday_upload($unique='')
{
error_reporting(0);
$this->form_validation->set_error_delimiters('<div style="border: 1px solid: #999999; background-color: #ffff99;">', '</div>');
$config['image_library'] = 'gd2';
$original_path = './birthday/original';
$resized_path = './birthday/resized';
$thumbs_path = './birthday/thumb';
$this->load->library('image_lib', $config);
unlink('./birthday/original/'.$uniks.'.jpg');
unlink('./birthday/resized/'.$uniks.'.jpg');
unlink('./birthday/thumb/'.$uniks.'.jpg');
$config = array(
'allowed_types' => 'jpg|jpeg',
'max_size' => 1024,
'upload_path' => $original_path, //upload directory
'file_name' => $uniks,
);
$gambar['filename'] = $uniks;
$this->load->library('upload', $config);
$this->upload->do_upload('foto');
$image_data = $this->upload->data(); //upload the image
$image['foto'] = $image_data['file_name'];
//your desired config for the resize() function
$config = array(
'source_image' => $image_data['full_path'], //path to the uploaded image
'new_image' => $resized_path,
'maintain_ratio' => false,
'width' => 566,
'height' => 238
);
$this->image_lib->initialize($config);
$this->image_lib->resize();
// for the Thumbnail image
$config = array(
'source_image' => $image_data['full_path'],
'new_image' => $thumbs_path,
'maintain_ratio' => true,
'width' => 100,
'height' => 100
);
//here is the second thumbnail, notice the call for the initialize() function again
$this->image_lib->initialize($config);
$this->birthday_m->simpan($gambar);
}
это как вставить изображение
public function simpan($gambar)
{
error_reporting(0);
$name_fb = mysql_real_escape_string($this->input->post('name'));
$gender_fb = mysql_real_escape_string($this->input->post('gender'));
$tempat_lahir_fb = mysql_real_escape_string($this->input->post('pob_child'));
$child_birth_fb = mysql_real_escape_string($this->input->post('birth_child'));
$email_fb = mysql_real_escape_string($this->input->post('email'));
$address_fb = mysql_real_escape_string($this->input->post('address'));
$nama_anak_fb = mysql_real_escape_string($this->input->post('child_name'));
$filename_fb = mysql_real_escape_string($this->input->post('foto_name').'.jpg');
// add to the line below to save image name to database
$akta_fb = mysql_real_escape_string($this->input->post('akta_name').'.jpg');
$data= array(
'name_fbd' => $name_fb,
'email_fbd' => $email_fb,
'address_fbd' => $address_fb,
'nama_anak_fbd' => $nama_anak_fb,
'tempat_lahir_fbd' => $tempat_lahir_fb,
'child_birth_fbd' => $child_birth_fb,
'filename_fbd' => $filename_fb,
'filename_akta' => $akta_fb,
'gender_fbd' => $gender_fb,
'dateregister_fbd' => $now,
'voucher_fbd' => $voucher,
'handphone_fbd' => $handphones,
// 'dateupdate' => ''
);
$this->db->insert('mydatabase',$data);
{
redirect(''.base_url().'birthdays/success/');
}
}
это мнение, я сделал другие функции Dropzone для новой области Dropzone, чтобы загрузить изображение, это успех показать изображение в области Dropzone, но первое изображение было заменено вторым изображением. и filaname показывают только один снизу.
<div class="dropzone" id="my-awesome-dropzone">
<div id="eyeDropZone" class="dropzone" ></div>
<input multiple name="foto_name" type="text" id="filename" required readonly />
</div>
<div class="dropzone" id="my-awesome-dropzone">
<div id="eyeDropZone" class="dropzone" ></div>
<input multiple name="akta_name" type="text" id="filenameakta" required readonly/>
</div>
Это действительно вопрос обработки на конце бит. Какой кодовый язык вы используете там? PHP или другое? Я делаю несколько загрузок, но использую исходное имя файла, чтобы предотвратить перезапись, – Daniel
извините за последнее время. Я использую php codeigniter @Daniel –
Прежде всего, это плохая практика иметь имя id. и почему вам нужно два divs dropzone на той же странице? – Abhinav