Javascript 有没有办法获取提供给服务器的qqfilename和qquuid?
现在,我正在使用向服务器发送分块文件。我想知道我是否可以得到我上传的文件名和uuid,因为我需要它们在组件的另一部分。我相信它们在我创建的uploader对象上,但我不确定如何获得它们 我试图检查uploader对象,但它似乎没有显示在那里Javascript 有没有办法获取提供给服务器的qqfilename和qquuid?,javascript,reactjs,fine-uploader,Javascript,Reactjs,Fine Uploader,现在,我正在使用向服务器发送分块文件。我想知道我是否可以得到我上传的文件名和uuid,因为我需要它们在组件的另一部分。我相信它们在我创建的uploader对象上,但我不确定如何获得它们 我试图检查uploader对象,但它似乎没有显示在那里 const uploader = new FineUploaderTraditional({ options: { chunking: { enabled: true }, de
const uploader = new FineUploaderTraditional({
options: {
chunking: {
enabled: true
},
deleteFile: {
enabled: true,
endpoint: `http://app.client.local/upload_delete`
},
request: {
endpoint: `http://app.client.local/upload_chunk`
},
retry: {
enableAuto: false
}
}
})
const isFileGone = status => {
return [
'canceled',
'deleted',
].indexOf(status) >= 0
}
class SVFineUploaderComponent extends Component {
constructor() {
super()
this.state = {
submittedFiles: []
}
}
componentDidMount() {
uploader.on('statusChange', (id, oldStatus, newStatus) => {
if (newStatus === 'submitted') {
const submittedFiles = this.state.submittedFiles
submittedFiles.push(id)
this.setState({ submittedFiles })
}
else if (isFileGone(newStatus)) {
const submittedFiles = this.state.submittedFiles
const indexToRemove = submittedFiles.indexOf(id)
submittedFiles.splice(indexToRemove, 1)
this.setState({ submittedFiles })
}
})
}
renderFileInput = () => {
return (
<Container style={{border: "3px dotted"}}>
<FileInput uploader={ uploader }>
<Dropzone uploader={ uploader }>
<span class="icon ion-upload">Attach or Drop Files Here</span>
</Dropzone>
</FileInput>
</Container>
);
}
renderFile = () => {
console.log(uploader)
return (
<Container style={{border: "3px dotted"}}>
{
this.state.submittedFiles.map(id => (
<React.Fragment>
<Filename key={ id } id={ id } uploader={ uploader } />
<DeleteButton key={ id } id={ id } uploader={ uploader } />
</React.Fragment>
))
}
</Container>
);
}
render() {
if (this.state.submittedFiles.length === 0)
return this.renderFileInput();
return this.renderFile();
}
}
export default SVFineUploaderComponent;
const uploader=新的FineUploader传统({
选项:{
分块:{
已启用:true
},
删除文件:{
启用:对,
终点:`http://app.client.local/upload_delete`
},
请求:{
终点:`http://app.client.local/upload_chunk`
},
重试:{
enableAuto:false
}
}
})
const isFileGone=状态=>{
返回[
“取消”,
“已删除”,
].indexOf(状态)>=0
}
类SVFineUploaderComponent扩展组件{
构造函数(){
超级()
此.state={
提交文件:[]
}
}
componentDidMount(){
uploader.on('statusChange',(id,oldStatus,newStatus)=>{
如果(newStatus==='submitted'){
const submittedFiles=this.state.submittedFiles
提交文件推送(id)
this.setState({submittedFiles})
}
else if(isFileGone(newStatus)){
const submittedFiles=this.state.submittedFiles
const indexToRemove=submittedFiles.indexOf(id)
提交文件.拼接(indexToRemove,1)
this.setState({submittedFiles})
}
})
}
renderFileInput=()=>{
返回(
在此处附加或删除文件
);
}
renderFile=()=>{
console.log(上传程序)
返回(
{
this.state.submittedFiles.map(id=>(
))
}
);
}
render(){
if(this.state.submittedFiles.length==0)
返回此.renderFileInput();
返回此.renderFile();
}
}
导出默认SVFineUploaderComponent;
显然,您可以使用给定的方法,将后缀.methods
添加到uploader
,放在方法本身之前
例子
{console.log(uploader.methods.getName(id))}
{console.log(uploader.methods.getFile(id))}
{console.log(uploader.methods.getUuid(id))}