2016-02-04 55 views
-2

我正在將圖像從我的移動應用程序發送到服務器。Cakephp從app/uploads目錄中讀取圖像

我在目錄

app/uploads/image.png 

保存圖像並存儲在數據庫中的路徑。

我想知道如何從瀏覽器訪問此圖像。總之,這張圖片的網址是什麼?我想先查看瀏覽器,然後再將路徑發送到我的移動應用程序

+1

我們無法與看不見的代碼要援助...... –

+0

存儲圖像內app/webroot目錄 –

+3

是否有上傳圖片到webroot之外的原因?如果你把它們放在webroot之外,你將需要編寫代碼將它們提供給用戶,如果你不需要做任何特殊的控制訪問權限,這可能是過度的。 – drmonkeyninja

回答

0

除了討論所提議的方法是否正確之外,我將重點討論如何解決問題上調。

事實上,這很容易。以下內容添加到您的控制器之一:

public function download($filename){ 

    $file = APP."/uploads/{$filename}"; 
    $this->response->file($file); 
    return $this->response; 
} 

注:上面的代碼缺少錯誤處理。

然後,您可以訪問

http://www.example.com/my_controller/download/my_picture.jpg 

  • ​​
+0

你能告訴我什麼是好方法?我正在處理用戶個人圖像,畫廊和其他東西 – hellosheikh

+0

恐怕我沒有太多補充已經在評論中提到的內容。可能你有一個很好的理由不把你的文件存儲在'/ app/webroot /'下。上面的代碼應該可以工作。不知道它是否會將您的應用打開到安全漏洞(例如試圖從其他文件夾中檢索文件等)。只要確保你刪除了任何惡意用戶可能試圖包含在'$ filename'中的路徑信息(我不知道這種風險是否存在)。 –

0
$this->Html->image('/uploads/image.png'); 
+0

你可以通過這段代碼從app/web-root / –