无法在Laravel中上载图像:";";C:\xampp\tmp\php38A9.tmp“;文件不存在或不可读。”;

无法在Laravel中上载图像:";";C:\xampp\tmp\php38A9.tmp“;文件不存在或不可读。”;,php,laravel,image,Php,Laravel,Image,因此,我尝试在update()函数上上载一个图像,它不断给我提供“C:\xampp\tmp\php38A9.tmp”文件不存在或不可读。“错误。以下是我的代码: EditForm.blade.php(带有图像输入的表单): } FileRequest.php(请求验证文件类型): 编辑按钮(这是用户单击以访问EditProfile.blade.php的按钮): 因此,当我上传图片并单击编辑时,它只会给我错误信息(我附上了错误图片供大家查看)。请让我知道我在这里做错了什么。如果需要,请随时要求我显

因此,我尝试在update()函数上上载一个图像,它不断给我提供“C:\xampp\tmp\php38A9.tmp”文件不存在或不可读。“错误。以下是我的代码:

EditForm.blade.php(带有图像输入的表单):

}

FileRequest.php(请求验证文件类型):

编辑按钮(这是用户单击以访问EditProfile.blade.php的按钮):

因此,当我上传图片并单击编辑时,它只会给我错误信息(我附上了错误图片供大家查看)。请让我知道我在这里做错了什么。如果需要,请随时要求我显示更多代码


我已经有一段时间面临这个问题,出于某种原因,下面的修复程序对我很有帮助。如果您在windows上,可能是因为符号链接问题。请尝试以下方法:

php artisan配置:缓存

php artisan storage:link
您是否已经链接了它并不重要。请使用这些命令,然后再次尝试重新上传。我希望这会有所帮助。

我最近遇到了这个问题,为了解决这个问题,我使用了下面的方法。 首先转到config/filesystems.php,在磁盘阵列内部将本地替换为以下内容

'local' => [
            'driver' => 'local',
            'root' => public_path(),
        ], 
Nad然后在控制器中,您可以如下所示使用它

if ($request->img) {
            $file = $request->File('img');
            $ext  = $user->username . "." . $file->clientExtension();
            $file->storeAs('images/', $ext);
            $user->image_name = $ext;
        }
class FileRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }
/**
 * Get the validation rules that apply to the request.
 *
 * @return array
 */
public function rules()
{
    return [
        'img' => 'mimes:jpeg,gif,png'
    ];
}
}
 {{ link_to_route('profile.edit','Edit Profile',[Auth::user()->id],['class'=>'btn btn-danger btn-block']) }}
'local' => [
            'driver' => 'local',
            'root' => public_path(),
        ], 
if ($request->img) {
            $file = $request->File('img');
            $ext  = $user->username . "." . $file->clientExtension();
            $file->storeAs('images/', $ext);
            $user->image_name = $ext;
        }