我试图将图像上传到Laravel应用程序中,然后需要公开显示。然而,我似乎只能上传到应用程序根目录下的文件夹。任何上传到公共目录的尝试都会引发以下错误:
protected function getTargetFile($directory, $name = null)
{
if (!is_dir($directory)) {
if (false === @mkdir($directory, 0777, true)) {
throw new FileException(sprintf('Unable to create the "%s" directory', $directory));
我假设这意味着Laravel将阻止我上传到任何可公开访问的文件。我实际上很喜欢这个,然而,我如何链接到公共目录之外的图像我已经尝试过../我的方式离开公共文件夹,但适当地,这不起作用。
或者,任何可以让我直接上传到公共文件夹的东西也很好。
如果有帮助,这里是我的控制器方法,它将文件放在公共文件夹中:
$thumbnail_file = Input::file('thumbnail');
$destinationPath = '/uploads/'. str_random(8);
$thumbnail_filename = $thumbnail_file->getClientOriginalName();
$uploadSuccess = Input::file('thumbnail_url')->move($destinationPath, $thumbnail_filename);
5条答案
按热度按时间7ajki6be1#
我会上传到
/public/assets/uploads
文件夹,也许对你有帮助ghhkc1vu2#
您的目标路径应为:
laik7k3q3#
在您的公共中创建一个名为上传的文件夹和在上传中创建另一个名为照片的文件夹后,尝试在控制器中使用此文件夹。
然后把这个放到你的路线中
nr9pn0ug4#
在ImageProductController.php(控制器)文件中插入以下代码:
在create.blade.php(View)文件中插入以下代码:
在ImageProduct.php文件(Model)中插入以下代码:
祝你好运!
jmo0nnb35#
你需要给予laravel文件夹的权限来存储图片。命令是:
sudo chown www-data:www-data /var/www/html/project-name/path/to/folder
。