Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正确地将图像上载到数据库。Laravel vue.js_Laravel_Vue.js - Fatal编程技术网

正确地将图像上载到数据库。Laravel vue.js

正确地将图像上载到数据库。Laravel vue.js,laravel,vue.js,Laravel,Vue.js,我试图上传一个图像到数据库,但无论我尝试什么,我要么得到这个错误 在null上调用成员函数getClientOriginalExtension() 或者它说它保存正确,但它不保存任何内容 以下代码位于正在上载此图像的表单的submit函数的vue.js文件中。这就是我试图将文件发送给控制器的内容 这给了我上面的错误 if (this.form.file && this.form.imageUrl) { this.form.file = this.form.imageUrl

我试图上传一个图像到数据库,但无论我尝试什么,我要么得到这个错误

在null上调用成员函数getClientOriginalExtension()

或者它说它保存正确,但它不保存任何内容

以下代码位于正在上载此图像的表单的submit函数的vue.js文件中。这就是我试图将文件发送给控制器的内容

这给了我上面的错误

if (this.form.file && this.form.imageUrl) {
    this.form.file = this.form.imageUrl;
} else {
}

var data = Converter.objectToFormData(this.form);

this.$refs.form.validate((valid) => {
    if (valid) {
        this.loading = true;
        if (!this.form.id) {
            //send code
        } else {
            //send updated
        }
    }

let data = Object.assign({}, this.form);

this.$refs.form.validate((valid) => {
    if (valid) {
        this.loading = true;
        if (!this.form.id) {
            //send code
        } else {
            //send updated
        }
    }
这也给了我上面的错误

if (this.form.file && this.form.imageUrl) {
    this.form.file = this.form.imageUrl;
} else {
}

var data = Converter.objectToFormData(this.form);

this.$refs.form.validate((valid) => {
    if (valid) {
        this.loading = true;
        if (!this.form.id) {
            //send code
        } else {
            //send updated
        }
    }

let data = Object.assign({}, this.form);

this.$refs.form.validate((valid) => {
    if (valid) {
        this.loading = true;
        if (!this.form.id) {
            //send code
        } else {
            //send updated
        }
    }
这不会给我任何错误,但不会保存任何内容

var data = new FormData();
data.append('question', this.form.question);
data.append('instruction', this.form.instruction);
data.append('survey_section_id', this.form.survey_section_id);
data.append('response_type_id', this.form.response_type_id);
data.append('questionOptions', this.form.questionOptions);
data.append('rank', this.form.rank);
data.append('num', this.form.num);
data.append('show_text', this.form.show_text);
data.append('file', this.form.file);

this.$refs.form.validate((valid) => {
    if (valid) {
        this.loading = true;
        if (!this.form.id) {
            //send code
        } else {
            //send updated
        }
    }
这是控制器中触发错误的代码

$destino = 'img/questions';
$image = $request->has('file');
if ($image) {
    $imageFile = $request->file('file');
    $filename = Uuid::generate(4)->string . '.' . $imageFile->getClientOriginalExtension();
    $imageFile->move($destino, $filename);
    $preg->image = $destino . '/' . $filename;
}

如果我
dd($imageFile)
它总是返回null或false,我的猜测是该文件不是作为文件发送的,但我不确定我做错了什么或者为什么会发生这种情况,
$image
返回true,因此它会进入if语句

假设您已将
enctype=“multipart/form data”
放在表单上,laravel 6中出现错误,迫使我在获取图像之前执行此操作:

$destino = 'img/questions';
$image = $request->has('file');
if ($image) {
    $size = $request->file('file')->getSize();
    $imageFile = $request->file('file');
    $filename = Uuid::generate(4)->string . '.' . $imageFile->getClientOriginalExtension();
    $imageFile->move($destino, $filename);
    $preg->image = $destino . '/' . $filename;
}
我不确定它是否给了我同样的错误,但是如果你之前没有得到大小,文件总是空的


希望有帮助

如果执行dd($request),我会在null上得到一个新的错误>对成员函数getSize()的调用;在函数的开头,您得到了什么?它非常大,但我只添加数据#data:array:10[▼ “问题”=>“asdf”“调查”\u部分\u id”=>“1”回答类型\u id”=>“1”可选”=>“false”“rank”=>null“num”=>null“文件”=>“blob:“图像URL”=>“blob:“显示文本”=>“false”“问题选项”=>数组:2[▶] ]好的,现在将$image值更改为:$request->hasFile('file'),并检查它是否通过了条件i没有得到错误,但在数据库中,图像设置为null