下载链接:-
<a href='"+ downloadlink + '/attachment-download/' + $('#employee_ID').val()+'/'+ res[i].file_name +"'>
路线:-
Route::get('/attachment-download/{id}/{filename}', array(
'uses' => 'AttachmentsController@getDownloadAttachments'
));
附件 Controller :-
public function getDownloadAttachments($id,$filename){
$file="./img/user-icon.png";
$resource = \Employee::WhereCompany()->findOrfail($id);
$path = $this->attachmentsList($resource);
foreach($path as $index => $attachment){
if ($filename == $attachment['file_name']) {
$filePath = $attachment['url'];
}
}
//return \Response::download($file);
return \Response::download($filePath);
}
File URL Output:-
https://zetpayroll.s3.ap-south-1.amazonaws.com/employees/81/Screenshot%20from%202017-04-26%2015%3A07%3A45.png?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAI57OFN3HPCBPQZIQ%2F20170612%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20170612T144818Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=59ecc4d11b7ed71bd336531bd7f4ab7c84da6b7424878d6487679c97a8c52ca7
在此,如果尝试使用静态路径下载文件,例如
$file="./img/user-icon.png";
return \Response::download($file);
下载正常。但无法从 AWS URL 下载文件,请帮助我如何使用 URL 自动下载文件。或者如何从 Laravel 或 PHP 中的 URL 获取路径。 谢谢。
最佳答案
使用上述功能正在下载所有文件。但是,在尝试打开文件时,文本、pdf、...文件打开(.text、.csv、.pdf..
)没有问题,但图像却没有。
$fileContent = file_get_contents($filePath);
$response = response($fileContent, 200, [
'Content-Type' => 'application/json',
'Content-Disposition' => 'attachment; filename="'.$filename.'"',
]);
return $response;
关于php - 如何从 URL 下载文件而不显示 Laravel 中的完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44514696/