-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
把 file 传给 data 方法 #32
Conversation
377a876
to
16cd636
Compare
测试好像在 master 就是坏的 |
用例我改了,readme.md 也改下吧 |
更新了 |
您好大牛,我要在上传时带其他参数怎么配置啊?不仅仅是file,还有token等参数。 |
@yangggggg 文档上有的 , data 可以传递额外参数 |
请问如果我的token是异步获取的。那么我的data应该如何返回呢?或则说data能返回一个promise对象么? |
token 是异步的,只能提前先准备好 token ,先发一个请求吧,不然好像是没法搞。 或者也可以结合 beforeUpload,data 两个方法来实现,举个例子 let token = '';
props = {
data: () => token,
beforeUpload => {
getToken().then(ret => { token = ret });
}
} |
直接上传到oss需要异步的拿数据一起提交。用了 @shepherdwind 的方法。 |
@mboo2005 您好,我也按照 @shepherdwind 给的事例去写了,但是 上传的时候 token 还是之前未修改的数据。 <Upload
name="file"
data={this.hello}
beforeUpload={() =>
Axios.get('/token').then((res) => {
this.hello = {
token: res.data,
};
})
}
action="http://upload.qiniu.com"
listType="picture-card"
fileList={fileImgList}
onPreview={this.handleImgPreview}
onChange={this.handleImgChange}
> 请问是哪里出了问题了么,不胜感激。 |
data可以是函数 data: async (file) => {
const token = await getToken();
return {
token,
fileName: file.name
}
} |
这种情况建议直接使用customRequest来自行处理. |
@luoboding @vdfor 非常感谢,我试一下。这个问题过去很久了,之前我的临时解决办法是修改token获取的时机。 |
像阿里云的 OSS 需要把文件名放在 data 里,我们会把上传的文件名换成 UUID,所以我希望能在 data 里拿到上传的文件对象,然后根据上传文件的后缀生成新的文件名。
顺便改正了 data 的 prop 验证。