【发布时间】:2018-07-18 10:48:47
【问题描述】:
我正在使用apollo-upload-client (so graphQL) 并尝试使用 dropzone 将文件上传到我的服务器。
我已经使用 <input required onChange={({ target: { validity, files: [file] } })=> this._uploadFiles(validity, file)} 和函数成功地做到了这一点
_uploadFiles = async (validity, file) => {
if (validity.valid){
await this.props.addImageFileMutation({
variables: {file}
})
}
}
对于 Dropzone,我有:
<Dropzone
onDrop={this._onDrop.bind(this)}
multiple={false}>
</Dropzone>
使用函数:
_onDrop = async (acceptedFiles, rejectedFiles) => {
const firstFile = acceptedFiles[0]
await this.props.addImageFileMutation({
variables: { firstFile }
})
}
这是每个发送的文件,它们在我看来都一样!但它只适用于<input />!
第一个值使用<Dropzone />,第二个值使用<input />。
你知道为什么我会收到 $file 与 Upload! 不匹配的问题吗?我在下面添加了更多代码以供参考。
const ADD_IMAGE_FILE_MUTATION = gql`
mutation AddImageFileMutation ($file: Upload!) {
addImageFile(file: $file){
id
}}`
【问题讨论】:
标签: graphql graphql-js react-apollo react-dropzone