Php Laravel ajax图像上传&x27;移动';函数创建500错误

Php Laravel ajax图像上传&x27;移动';函数创建500错误,php,ajax,laravel,move,Php,Ajax,Laravel,Move,我正在尝试使用Laravel5.4进行AJAX图像上传。除了文件输入上的move()函数,表单中的所有其他字段都在工作,该函数返回500错误。我已经添加了与下图相关的所有代码。单击提交按钮时,我正在执行e.preventDefault(),然后启动ajax功能。HTML {!! Form::open(['action' => 'ProjectController@store','id' => 'createForm','files' => true]) !!} <

我正在尝试使用Laravel5.4进行AJAX图像上传。除了文件输入上的
move()
函数,表单中的所有其他字段都在工作,该函数返回500错误。我已经添加了与下图相关的所有代码。单击提交按钮时,我正在执行
e.preventDefault()
,然后启动ajax功能。

HTML

{!! Form::open(['action' => 'ProjectController@store','id' => 'createForm','files' => true]) !!}
    <div class="form-group">
        {!! Form::label('image', 'Project Image') !!}
        {!! Form::file('image') !!}
    </div>
    {!! Form::submit('Create', ['id' => 'createSubmit', 'class' => 'btn btn-primary']) !!}
{!! Form::close() !!}
PHP

if (isset($_FILES['image'])) {
    $image = $_FILES['image'];
    $image_filename = 'feature-' . $image['name'];
    // THIS LINE CAUSES THE 500 ERROR
    // $image->move(public_path('uploads'), $image_filename);
}
VAR\u转储$\u文件['image']

array(5) {
  ["name"]=>
  string(12) "Homepage.png"
  ["type"]=>
  string(9) "image/png"
  ["tmp_name"]=>
  string(23) "C:\xampp\tmp\php7AD.tmp"
  ["error"]=>
  int(0)
  ["size"]=>
  int(251159)
}

上载文件夹确实存在

您遇到了什么错误,可能与“上载”文件夹的权限有关

检查Laravel日志上的500错误详细信息


您还可以在chrome开发工具中查看错误详细信息。转到“网络”选项卡,按“XHR”过滤,单击应以红色突出显示的500错误,并在顶部菜单上更改为“预览”选项卡。这应该会给你提供详细的服务器错误。

你得到的错误是什么,可能与“上传”文件夹的权限有关

检查Laravel日志上的500错误详细信息


您还可以在chrome开发工具中查看错误详细信息。转到“网络”选项卡,按“XHR”过滤,单击应以红色突出显示的500错误,并在顶部菜单上更改为“预览”选项卡。这应该会给出详细的服务器错误。

尝试像这样上传图像:

$destinationPath = 'path/th/save/file/';
$image = $request->file('image');
$name =  $user_meta['image_org_name'] = $image->getClientOriginalName();
$extension = $image->getClientOriginalExtension();
$file_name =  md5(uniqid().time()).'_'.$user_meta['image_org_name'];
$image->move($destinationPath,$file_name);

尝试像这样上载图像:

$destinationPath = 'path/th/save/file/';
$image = $request->file('image');
$name =  $user_meta['image_org_name'] = $image->getClientOriginalName();
$extension = $image->getClientOriginalExtension();
$file_name =  md5(uniqid().time()).'_'.$user_meta['image_org_name'];
$image->move($destinationPath,$file_name);

您是否在
public
目录中创建了
uploads
文件夹?您是否在
public
目录中创建了
uploads
文件夹?这是我在数组中调用成员函数move()时遇到的错误,奇怪的是,当我试图在它不起作用之前访问
$request->file('image)
时,它起作用了,奇怪的是当我试图在它不起作用之前访问
$request->file('image)
时。