簡體   English   中英

如何在 PHP Codeigniter 中下載上傳的圖像

[英]How to download an uploaded image in PHP Codeigniter

我上傳了一張圖片,然后對圖片進行了旋轉操作,並在其他視圖中獲取翻轉的圖像,現在如何下載翻轉的圖像請指導我?

查看上傳圖片的代碼:

<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() 的參數太少,在第 532 行的 D:\xampp\htdocs\ImageTools\system\core\CodeIgniter.php 中傳遞了 0,而預期為 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM