繁体   English   中英

如何使用Laravel和Elastic Beanstalk上载文件?

[英]How to upload a file using Laravel with Elastic Beanstalk?

我已经在Elastic Beanstalk环境中部署了Laravel应用程序,但是我所有的文件上传功能都无法正常工作。 我在网上到处都看过,但是没有什么可以解决这个问题。

当我上传文档时,一切似乎都正常。 没有显示错误。 但是,该文件实际上并未上传。 这使我认为是导致此问题的权限,但是,我使用.ebextensions config将上载文件夹设置为755,问题仍然存在。

.ebextensions / {appname} .config

container_commands:
    change_permissions:
        command: chmod 755 /var/www/html/storage/app/public

有人知道这个问题的原因吗? 我试图尽可能避免使用S3,因为使用Elastic Beanstalk只是临时的。

为了存储文件,我建议使用S3存储桶。 使用amazon SDK来做到这一点。 对于Java,请参阅com.amazonaws.services.s3 putObject接口AmazonS3。

当然,保存文件的代码应该是可插入的,并且至少有两个实现。 一种实现将文件保存到本地磁盘,另一种实现将文件存储在S3中。 您的启动代码应连接正确的实现。

我找到了解决这个问题的方法。 原因是因为我需要将存储链接服务器端更新为公用存储文件夹。 因此,必须删除/ public /中的存储链接,然后重新创建服务器端

php artisan storage:link

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM