我正在开发一个 Laravel Spark 项目,我正在尝试获取一个表单来将文件夹上传到我的 S3 存储桶。我已经建立了表格:
<form enctype="multipart/form-data">
<input type="file" name="resume" v-model="form.resume">
<button @click="updateProfile">Update Profile</button>
</form>
然后我设置了一个 vue 组件来处理表单提交:
Vue.component('resume-links', {
template: '#edit-resume-links',
data() {
return {
form: new SparkForm({
resume: ''
})
};
},
methods: {
updateProfile() {
console.log(this.form.resume);
Spark.post('/route/to/controller', this.form).then(response => {
console.log(response);
});
}
}
});
然后在我的 laravel 控制器中:
$resume = $request->file('resume');
$resumeFileName = time() . '.' . $resume->getClientOriginalExtension();
$s3 = \Storage::disk('s3');
$filePath = '/resumes/' . $resumeFileName;
$s3->put($filePath, file_get_contents($resume), 'public');
当我尝试使用文件提交表单时,它会抛出此错误:
Call to a member function getClientOriginalExtension() on null
我在将其设置为后立即尝试var_dump
ing并且我看到输出到控制台的是一堆外观代码 从我阅读的所有内容来看,它看起来像文件上传Laravel 超级简单,我不知道我为什么会遇到这个问题。任何帮助/建议将不胜感激!谢谢!$resume
file()
js