【发布时间】:2019-05-15 22:51:16
【问题描述】:
我的反应应用程序中有这段代码:
this.handlefileupload = (e) => {
console.log(e.target.files[0])
var formdata = new FormData()
formdata.append('file', e.target.files[0])
axios.post('http://localhost:3000/api/v1/upload_document', {
myfile: formdata
}, {
headers: {
Authorization: "Bearer " + sessionStorage.getItem('loginToken'),
'Content-Type': 'multipart/form-data'
}
}
)
.then((response) => {
console.log('success')
}
)
.catch(function (error) {
console.log(error.response);
});
}
然后我的 Ruby on Rails 应用程序中有以下内容:
def upload
uploaded_io = params[:myfile][:file]
File.open(Rails.root.join('public', 'uploads', uploaded_io.original_filename), 'wb') do |file|
file.write(uploaded_io.read)
end
end
我收到以下错误:
在 6 毫秒内完成 500 次内部服务器错误(ActiveRecord:1.0 毫秒)
NoMethodError(nil:NilClass 的未定义方法 `[]'):
很可能是因为它没有收到文件?
【问题讨论】:
-
现在我得到了一个空行,我做 puts()
标签: javascript ruby-on-rails ruby reactjs