2017-07-13 15 views
0

私は「公共」fiilesystemドライバを使用していると私はにファイルを格納:Laravel資産()間違ったリンク

PROJECT_ROOT/storage/app/public/message_files

しかし、私はまた、(私はシンボリックリンクを作成しましたので)、ここからそれらにアクセスすることができます。

PROJECT_ROOT/public/storage/message_files

は、それから私は、資産()ヘルパーを使用してファイルへのリンクを取得しようと、それはこのようにパスを受け取ります。

message_files/gwYRplTEyX9O3Z1sOYXxk2C3ZfLVSiIZF93nZbjz.txt

とリターン:

http://localhost/message_files/gwYRplTEyX9O3Z1sOYXxk2C3ZfLVSiIZF93nZbjz.txt

あなたが見ることができるように、URLには "保存" ディレクトリがありませんので、リンクが正しくありません。私の質問です: "ストレージ"ディレクトリが省略されていないように設定することはできますか?ここで

は私filesystems.configです:事前に

<?php 

return [ 

    /* 
    |-------------------------------------------------------------------------- 
    | Default Filesystem Disk 
    |-------------------------------------------------------------------------- 
    | 
    | Here you may specify the default filesystem disk that should be used 
    | by the framework. The "local" disk, as well as a variety of cloud 
    | based disks are available to your application. Just store away! 
    | 
    */ 

    'default' => env('FILESYSTEM_DRIVER', 'public'), 

    /* 
    |-------------------------------------------------------------------------- 
    | Default Cloud Filesystem Disk 
    |-------------------------------------------------------------------------- 
    | 
    | Many applications store files both locally and in the cloud. For this 
    | reason, you may specify a default "cloud" driver here. This driver 
    | will be bound as the Cloud disk implementation in the container. 
    | 
    */ 

    'cloud' => env('FILESYSTEM_CLOUD', 's3'), 

    /* 
    |-------------------------------------------------------------------------- 
    | Filesystem Disks 
    |-------------------------------------------------------------------------- 
    | 
    | Here you may configure as many filesystem "disks" as you wish, and you 
    | may even configure multiple disks of the same driver. Defaults have 
    | been setup for each driver as an example of the required options. 
    | 
    | Supported Drivers: "local", "ftp", "s3", "rackspace" 
    | 
    */ 

    'disks' => [ 

     'local' => [ 
      'driver' => 'local', 
      'root' => storage_path('app'), 
     ], 

     'public' => [ 
      'driver' => 'local', 
      'root' => storage_path('app/public'), 
      'url' => env('APP_URL').'/storage', 
      'visibility' => 'public', 
     ], 

     's3' => [ 
      'driver' => 's3', 
      'key' => env('AWS_KEY'), 
      'secret' => env('AWS_SECRET'), 
      'region' => env('AWS_REGION'), 
      'bucket' => env('AWS_BUCKET'), 
     ], 

    ], 

]; 

ありがとう!

答えて

2

それは公開ルート、および変更へasset()ポイントは、このおそらく副作用を持っているだろうと普通です。

Storage::url()を探している可能性があります。

0

アセットを使用してストレージにアクセスする場合は、あなたは

php artisan storage:linkは、あなたが、私はこのことができます願っていasset(storage/your/path)

のような資産にストレージを追加することができますコマンドを実行する必要が

+0

私は既にリンクを作成していますが、asset()ヘルパーで使用されるすべての単一パスに手動で "storage"を追加したくないということを知っていれば、すべてのリンクにグローバルに追加したいというのは。 – Razip

+0

あなたのパスにアプリを追加する必要があります –

+0

私に例を教えてもらえますか?私はあなたが何を意味しているか分かりません。 – Razip