第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過 ID 獲取媒體模型并使用它來制作可下載的 URL 不起作用

通過 ID 獲取媒體模型并使用它來制作可下載的 URL 不起作用

PHP
慕容3067478 2021-11-26 14:54:35
在我的 CustomProduct 模型中,我有多個媒體當我發(fā)出 GET 請求時,我添加了產(chǎn)品 ID 和媒體 ID。當我嘗試下面的代碼時,這是一個雄辯的集合。但我需要它是一個媒體模型,因為我現(xiàn)在不能調(diào)用 ->getPath()。public function downloadMedia($customProduct, $mediaItemId) {    $product = CustomProduct::find($customProduct);    $mediaCollection = $product->getMedia('notes');    $mediaItem = $mediaCollection->where('id', $mediaItemId);    return response()->download($mediaItem->getPath(), $mediaItem->file_name);}預(yù)期:我重定向到頁面并打開下載的文件模型實際結(jié)果:方法 Illuminate\Database\Eloquent\Collection::getPath 不存在。因為它是一個集合而不是一個媒體模型。
查看完整描述

2 回答

?
阿晨1998

TA貢獻2037條經(jīng)驗 獲得超6個贊

看看 Laravel Helpers 文檔:http ://laravel.com/docs/4.2/helpers


如果您想要鏈接到您的資產(chǎn),您可以這樣做:


$download_link = link_to_asset('file/example.png');

如果上述方法對您不起作用,那么您可以在app/routes.php 中實現(xiàn)一個相當簡單的下載路由,如下所示:


請注意,此示例假設(shè)您的文件位于app/storage/file/位置


// Download Route

Route::get('download/{filename}', function($filename)

{

    // Check if file exists in app/storage/file folder

    $file_path = storage_path() .'/file/'. $filename;

    if (file_exists($file_path))

    {

        // Send Download

        return Response::download($file_path, $filename, [

            'Content-Length: '. filesize($file_path)

        ]);

    }

    else

    {

        // Error

        exit('Requested file does not exist on our server!');

    }

})

->where('filename', '[A-Za-z0-9\-\_\.]+');

用法:http: //your-domain.com/download/example.png


這將在以下位置查找文件:app/storage/file/example.png(如果存在,將文件發(fā)送到瀏覽器/客戶端,否則將顯示錯誤消息)。


PS'[A-Za-z0-9\-\_\.]+此正則表達式確保用戶只能請求名稱包含 A-Z或a-z(字母)、0-9(數(shù)字)-或_或.(符號)的文件。其他所有內(nèi)容都被丟棄/忽略。這是一項安全/安保措施......


查看完整回答
反對 回復 2021-11-26
?
滄海一幻覺

TA貢獻1824條經(jīng)驗 獲得超5個贊

為了獲得 Media 模型,我所要做的就是更改以下內(nèi)容

$mediaItem = $mediaCollection->where('id', $mediaItemId);

$mediaItem = $mediaCollection->where('id', $mediaItemId)->first();


查看完整回答
反對 回復 2021-11-26
  • 2 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號