首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我从邮递员上传到Laravel的图像没有保存在文件夹中。

我从邮递员上传到Laravel的图像没有保存在文件夹中。
EN

Stack Overflow用户
提问于 2019-08-29 14:40:50
回答 2查看 2.2K关注 0票数 0

当试图从邮递员上传图像时,我发送的图像不会保存在Heroku上的API文件夹中。但是它存储在某个地方,因为当我使用asset()并打开该链接时,该链接将正确显示图像。

该路线用于创建一个产品,该图像对应于该产品:

路由:

代码语言:javascript
复制
Route::post('product/new','ProductController@store');

在我的控制器里:

代码语言:javascript
复制
    $product = new Product;
    $product->name = $request->input('name');
        //Other staff

    if($request->file('image')){

    $path = Storage::disk('public')->put('uploads/images/products',$request->file('image'));
   // $product->image = $path;
    $product->image = asset($path);
}

邮递员配置:

我已经尝试用x-www-form-urlencoded配置内容类型标头,配置内容类型为multipart/form-data,没有任何内容类型,但它们都没有工作。

我得到的结果是:

代码语言:javascript
复制
{
"id": 1,
"name": "test1",
//staff
"image": "http://{{my_API_domain}}/uploads/images/products/Mz9liaazzCOTwt8CdEWK0My6w3l2GWzR1ERDncCV.png",
}

如果我从浏览器输入http://{{my_API_domain}}/uploads/images/products/Mz9liaazzCOTwt8CdEWK0My6w3l2GWzR1ERDncCV.png,这个链接很好地显示了图像,但是如果我去那里检查:public/uploads/images/products/没有保存的图像,不知道这些图像存储在哪里。

而且,我确实运行了php artisan storage:link,符号链接文件夹存储在public/中创建得很好,但是只有.gitignore在里面,在config/filesystem.php中我将'public' => [ 'root' => storage_path('app/public'),]更改为'public' => [ 'root' => public_path(),]

我的档案结构:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-29 16:53:18

我不知道您的文件存储在哪里,但更大的问题是您首先要将文件保存到本地文件系统中。即使您知道文件的去向,这也不能像预期的那样工作。

Heroku的文件系统是短暂的。您对其所做的任何更改都将在下次您的dyno重新启动时丢失。这个频繁发生 (每天至少一次)。Heroku 建议在亚马逊S3这样的第三方服务上存储上传的文件。

幸运的是,Laravel 支持这一点。

  • league/flysystem-aws-s3-v3 ~1.0添加到依赖项中
  • 创建一个S3桶
  • 配置Laravel以使用config/filesystems.php中的桶

您不需要对上传代码进行任何更改。现在应该自动将文件保存到您的S3桶中,让它们能够生存下来,不需要循环和新的部署。

票数 2
EN

Stack Overflow用户

发布于 2019-08-29 21:48:11

代码语言:javascript
复制
php artisan storage:link

变成公共/存储/符号链接到存储/应用程序/公共

你的形象应该是

代码语言:javascript
复制
"http://{{my_API_domain}}/storage/uploads/images/products/Mz9liaazzCOTwt8CdEWK0My6w3l2GWzR1ERDncCV.png"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57712586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档