Я загрузил изображение, а затем применил к нему операцию поворота и получил перевернутое изображение в другом представлении. Теперь, как загрузить это перевернутое изображение, пожалуйста, сообщите мне?
Посмотреть код для загрузки изображения:
<input type='file' name="userfile" size="20">
<input type="submit" name="upload" value="Flip">
Код контроллера для флип:
$data['title'] ='Flip Image';
$upload['upload_path'] = './assets/images/';
$upload['allowed_types'] = 'gif|jpg|jpeg|png';
$this->load->library('upload',$upload);
$filedata1 = $this->upload->data();
if(!$this->upload->do_upload('userfile')){
show_error($this->upload->display_errors());
}
$this->load->library('image_lib');
$config['image_library'] = 'gd2';
$config['source_image'] = $this->upload->data('full_path');
$config['rotation_angle'] ='hor';
$this->image_lib->initialize($config);
if(!$this->image_lib->rotate()){
show_error($this->image_lib->display_errors());
}
$filedata = $this->upload->data();
$data['img2'] = base_url().'/assets/images/'.$filedata['file_name'];
print $this->load->view('pages/result',$data,true);
Функция загрузки:
$this->load->helper('download');
$data = 'myimag.png';
force_download($img2, $data);
redirect('pages/result');
Теперь я получаю результат этого изображения на другой странице, и здесь я вызвал функцию загрузки контроллера (приведенную выше), нажав кнопку загрузки, чтобы он начал загрузку файла, не спрашивая путь к нему, но он показывает ошибку:
Просмотр результатов:
<img src="<?php echo $img2;?>" width="200" height="200">
<?php echo form_open('pages/download()'); ?>
<input type="submit" name="submit" value="Download">
</form>
Ошибка: слишком мало аргументов для функции Pages :: download (), 0 передано в
D: \ xampp \ htdocs \ ImageTools \ system \ core \ CodeIgniter.php в строке 532 и
точно 1 ожидалось
Надеюсь, что это поможет вам :
Либо вы можете сделать так:
Заметка : убедитесь, что здесь $img2
содержит полный путь к файлу изображения
<img src="<?php echo $img2;?>" width="200" height="200">
<a href="<?php echo $img2;?>" download="myimage" >Download</a>
Или просто сделайте так:
<img src="<?php echo $img2;?>" width="200" height="200">
<a href="<?=base_url('pages/download/'.$img2);?>" >Download</a>
И ваш download
метод должен быть таким:
function download($img2)
{
$this->load->helper('download');
/*make sure here $img2 contains full path of image file*/
force_download($img2, NULL);
}
Для большего : https://www.w3schools.com/tags/att_a_download.asp
Других решений пока нет …