第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何在react中轉(zhuǎn)換二進(jìn)制數(shù)據(jù)中的文件數(shù)據(jù)?

如何在react中轉(zhuǎn)換二進(jìn)制數(shù)據(jù)中的文件數(shù)據(jù)?

溫溫醬 2022-08-04 10:10:12
我實(shí)現(xiàn)了一個(gè)文件上傳,其中文件與一些數(shù)據(jù)一起傳遞到后端。文件和數(shù)據(jù)必須編碼為表單數(shù)據(jù)。我以?xún)煞N方式實(shí)現(xiàn)了上傳:表單數(shù)據(jù)將文件作為二進(jìn)制字符串進(jìn)行合并表單數(shù)據(jù)將文件作為普通字符串包含(鏈接到文件)第一個(gè)選項(xiàng)適用于我,文件已成功上傳,而在第二種情況下,將顯示一條錯(cuò)誤消息:“提交的數(shù)據(jù)不是文件。請(qǐng)檢查表單上的編碼類(lèi)型。1.文件上傳,音頻文件作為二進(jìn)制字符串(工作)Form Dataaudio: (binary)title: Some Titlecontent: Some content1. 創(chuàng)建將音頻文件為二進(jìn)制的表單數(shù)據(jù)的函數(shù)和表單 ( 工作 )export class CreateStory extends Component {  state = {    title: "",    content:"",    audio:""  };  static propTypes = {    addStory: PropTypes.func.isRequired  };// Use Ref to clear  uncontrolled file field constructor(props) {    super(props);    this.inputRef = React.createRef();  } onChange = (e) => {        if(e.target.name === 'audio') {            this.setState({                [e.target.name]: e.target.files[0]            }, () => console.log(this.state.audio))        } else {            this.setState({                [e.target.name]: e.target.value            }, () => console.log(this.state))        }    }onSubmit = e => {  e.preventDefault();  let { title, content, audio} = this.state;  let formDataStory = new FormData(); // create form formData  formDataStory.append('audio', audio); // add audio to formData  formDataStory.append('title', title); // add title to formData  formDataStory.append('content', content); // add content to formData  console.log (this.formDataStory);  this.props.addStory(formDataStory) // call addStory function with formDataStory as Input to create new Story      .then(() => {        this.setState({          title: "", // clear title field after submission          content:"", // clear content field after submission        });        this.inputRef.current.value = ''; // clear file field after submission       }) };
查看完整描述

1 回答

?
BIG陽(yáng)

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

這并不是一個(gè)最低限度的可重復(fù)的例子,這個(gè)問(wèn)題已經(jīng)有1.6年的歷史了,但沒(méi)有答案,所以......

  1. 此展開(kāi)表達(dá)式使用標(biāo)題而不是故事,因此它會(huì)擦除其他變量

    story: {
        ...prevState.title,
  2. 這將設(shè)置 state.audio,忽略 state.story 中的提取值

    this.setState({
        [e.target.name]: e.target.files[0]

    但編碼的值為 state.story.audio

    let audio = this.state.story.audio;


查看完整回答
反對(duì) 回復(fù) 2022-08-04
  • 1 回答
  • 0 關(guān)注
  • 238 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)