【发布时间】:2021-06-18 06:12:12
【问题描述】:
当我尝试重命名已处于某个状态的文件时遇到问题。我遇到了一个问题,它将替换所有文件信息并添加我更改的名称,所以当我将它发送到服务器进行保存时它不能,因为它只有一个字符串名称而不是文件信息。这是代码:
constructor(props){
super(props);
this.state = {
images: {
iconImage: null,
}
}
}
onIconChange = (event) => {
console.log(event.target.files[0]);
this.setState({images: {iconImage: event.target.files[0]}});
}
onSubmit = (isNew) => {
if(this.state.images.iconImage){
this.setState({images: {iconImage: {
name: `${this.state.name}-${this.state.images.iconImage.name}`
}}},
this.sendImage);
}
else{
this.reset();
}
}
sendImage = () => {
const data = new FormData();
console.log(this.state.images.iconImage);
data.append('image', this.state.images.iconImage);
axios({
url: 'http://127.0.0.1:3002/icon',
method: 'post',
data: data,
body: JSON.stringify({
vID: this.state.id
})
})
.then(res => console.log(res.data))
.catch(err => console.error(`error posting image: ${err}`));
this.reset();
}
改名前: 文件 {name: "CoverImage.JPG", lastModified: 1617527811701, lastModifiedDate: Sun Apr 04 2021 19:16:51 GMT+1000 (Australian Eastern Standard Time), webkitRelativePath: "", size: 74957, ...}
改名后: {名称:“test2-CoverImage.JPG”}
【问题讨论】:
标签: javascript reactjs file