我使用sfWidgetFormInputFile()將文件上傳到文件夾MY_PROJECT/WEB/UPLOADS
。如何從該路徑下載這些文件。如何獲取上傳文件夾的路徑。而且當我上傳文件的文件名更改爲這樣的東西1f3c6d9bf7b8ebda8b600576c55817c34715a8421
。我怎樣才能上傳它的原名?提前致謝。如何在symfony1.4下載上傳的文件
0
A
回答
2
還有一個更簡單的方法...把generateFieldNameFilename()
功能到您的模型或窗體類(其中FieldName
是該領域的駱駝名稱你在哪裏存儲圖像)。
// your form or model class
public function generateImageFilename(sfValidatedFile $file)
{
return $file->getOriginalName();
}
// in your template ($model => model object)
<?php echo link_to($model->getImage(), '/uploads/'.$model->getImage(), array('target' => '_blank')); ?>
// to dispaly the image in the link
<?php echo link_to(image_tag('/uploads/'.$model->getImage()), '/uploads/'.$model->getImage(), array('target' => '_blank')); ?>
這將在新標籤中打開你的形象。如果您想強制下載圖像的上傳目錄把.htaccess
文件到它(頭模塊必須啓用sudo a2enmod headers
):
SetEnvIf Request_URI "\.jpg$" requested_jpg=jpg
Header add Content-Disposition "attachment" env=requested_jpg
通過symfony的重命名你上傳的文件,因爲文件名必須在目錄中唯一的方式所以如果你想保留原來的名字,你存儲文件名的字段應該是唯一的,每個模型應該有一個單獨的文件子目錄。
2
你需要得到原始文件名,因爲這樣的:
$filename = $this->form->getValue('file')->getOriginalName();
$this->exists = file_exists(sfConfig::get('sf_web_dir').$filename);
if (!$this->exists)
$this->form->getValue('file')->save(sfConfig::get('sf_web_dir').$filename);
0
public function executeDownload(sfwebRequest $request)
{
$blog_user = Doctrine_Core::getTable('login')->find($request->getParameter('id'));
//$this->forward404Unless($res);
//$file=$blog_user->getDoc();
//$path=sfConfig::get('sf_upload_dir').'/'.$file;
header('content-type:image/jpg');
header('Content-Description: File Transfer');
//header('Content-Type: application/octet-stream');
header('Accept-Ranges: bytes');
header('Content-Disposition: attachment; filename='.basename($blog_user->getDoc()));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($blog_user->getDoc()));
ob_clean();
flush();
readfile($blog_user->getDoc());
return sfView::NONE;
}
相關問題
- 1. 如何下載上傳的文件?
- 2. 如何下載上傳的文件?
- 3. 我如何下載上傳的文件?
- 4. Kloudless:如何下載/上傳文件
- 5. Java-如何下載和上傳文件?
- 6. 如何上傳和下載文件
- 7. 如何在終端的下載文件夾中上傳文件?
- 8. 如何上傳,存儲和下載文件上的文件
- 9. 如何在服務器端上傳文件,下載文件serivce
- 10. 下載上傳文件
- 11. Dropbox文件下載/上傳
- 12. 文件上傳/下載
- 13. 如何在iphone上skyDrive上傳/下載文件夾sdk
- 14. 文件上傳/下載在ASP.NET
- 15. 如何上傳Wordpress上的可下載文件?
- 16. Redmine如何上傳和下載插件內的文件?
- 17. 下載上傳的文件paperclip
- 18. plupload - 下載/刪除上傳的文件
- 19. 使用DropzoneJs下載上傳的文件
- 20. 無法下載上傳的文件tree.io
- 21. 下載上傳的文件MVC 3
- 22. node.js的上傳和下載pdf文件
- 23. 如何在cakephp中下載上傳文件時檢查會話?
- 24. 如何在Powershell中使用BITS上傳/下載文件?
- 25. @MTOM在上傳/下載文件時如何確保文件的完整性?
- 26. 如何上傳apache下的zip文件?
- 27. 如何減少WAV文件的下載和上傳時間?
- 28. Cakephp - MeioUpload - 如何下載上傳的文件
- 29. 如何下載谷歌的AppEngine(上傳)應用程序文件
- 30. FTP正在上傳文件時正在下載文件
你用什麼函數將文件保存在文件系統中? – 2012-03-12 14:14:05