0
我得到一箇舊的Symfony 2.3項目。 我從來沒有使用Symfony(我在Angularjs),所以它有點困難。symfony 2.3 + liip + gaufrette =創建一個遠程圖像的拇指(通過url)
我想做什麼:我需要調整項目,以便我可以顯示本地圖像或遠程圖像的拇指(我將獲得已上傳圖像的完整url),拇指應該在本地緩存中創建。
項目中已經使用過濾器的Liip圖像包。 我用作曲家安裝了KnpGaufretteBundle。
1.in services.yml
services:
acme.liip_imagine.binary.loader.stream.profile_photos:
class: "%liip_imagine.binary.loader.stream.class%"
arguments:
- 'gaufrette://profile_photos/'
tags:
- { name: 'liip_imagine.binary.loader', loader: 'stream.profile_photos' }
2.in config.yml
liip_imagine:
#cache_clearer: false
#cache_mkdir_mode: 0777
loaders:
stream.profile_photos:
stream:
wrapper: gaufrette://profile_photos
filter_sets:
url_thumb:
data_loader: stream.profile_photos
filters:
thumbnail: { size: [100, 100], mode: outbound }
3.in view.twig
// If i display directly the img it works
{% set img = row.path %}
<a href="{{ img }}" class="grouped_elements" rel="group" title="{{ row.copyright }}">
<img src="{{ img }}" width="100px" alt="{{ img }}" border="0" />
</a>
// but i get an error with this :
{% set imgspe = row.path|basename %}
{% set img = ['uploads/'~module.uploaddir~'/', imgspe]|join('') %}
<a href="{{ asset(img) }}" class="grouped_elements" rel="group" title="{{ row.copyright }}">
<img src="{{ asset(img) | imagine_filter('url_thumb') }}" alt="{{ imgspe }}" border="0" />
</a>
錯誤:
NetworkError: 404 Not Found - http://publish.test/app_dev.php/media/cache/url_thumb/http://www.jump-voyage.com/wp-content/uploads/2016/06/Google-Images-4.jpg
'Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "Source image not found." at /var/www/test/publishv2/vendor/liip/imagine-bundle/Liip/ImagineBundle/Binary/Loader/StreamLoader.php line 55'
所以url不好,因爲它是本地路徑+ url路徑連接
我該怎麼辦?