【发布时间】:2021-12-06 18:52:29
【问题描述】:
我一直在尝试使用 adonisjs 上传一个简单的图像,并且 request.file() 一直返回 null。
我对 adonisjs 还是很陌生,文档并不清楚该怎么做。
我正在使用 SQLite 数据库。
这是我的控制器。
public async update({response, request}) {
let user = request.only(["userId","fullname","avatar"]);
const coverImage = request.file('avatar')
console.log(coverImage)
console.log(user)
if (!coverImage) {
return "Please upload File"
}
const imageName = new Date().getTime().toString()+ '.' + coverImage.subtype
await coverImage.moveAll(Application.publicPath('images'),{
name: imageName
})
user.avatar = `images/${imageName}`
await user.save()
return response.redirect(`/users/${user.userId}`)
}
这是我用来提交图片的表单。
<form class="uk-grid-small" uk-grid method="post" action="{{ route('profiles.update', {id: user.id}) }}?_method=PUT">
<div class="uk-width-1-2@s">
<input class="uk-input" type="text" placeholder="Fullname" name="fullname">
</div>
<div class="uk-width-3-4@s">
<label>Upload user avatar</label>
<input type="file" multiple name="avatar" class="form-control">
</div>
<div class="uk-width-1-2@s">
<button class="uk-button uk-button-primary">Submit</button>
</div>
</form>
这是我正在使用的路线
Route.resource('profiles', 'ProfilesController')
【问题讨论】: