2017-12-28 51 views
0

他のJSONデータと一緒にAxiosサービスでPDF/Docsファイルを送信したいと思います。 私は(Ajax post a file from a form with Axios)を参照しましたが、JSONデータなしでファイルを送信するだけです。AxiosサービスでJSONデータと共にファイル(pdf、doc)を投稿する方法

それがいるFormDataでファイルオブジェクト(私を示したよりも私がリクエストを送信する前に、オブジェクトを慰める
field_value: {}, // here it shows empty object,but it should show File Object 
field_type: "file_upload", 
is_file_upload: true 

}

)が、POSTリクエストでそれを見ているときには、空の括弧を示しました。バックエンドに送信する

onFileChanged(event) { 
    var files = event.target.files || event.dataTransfer.files; 
    if (!files.length) { 
    return; 
    } 

    var formData = new FormData(); 

    // Add the File object to the formdata 
    if (this.multiple) { 
    formData.append("files", files); 
    } else { 
    formData.append("file", files[0]); 
    } 

    // Add your data... 
    formData.append("data", myData); 
} 

uploadDocument(formData) { 
    return Axios.post('/api/documents', formData, { 
    headers: { 
     'Content-Type': 'multipart/form-data' 
    } 
    }); 
} 

使用しますが、ファイルの入力タイプから取得FORMDATA:次に、ファイルの入力を処理するために、あなたのjavascriptのコードを

//HTML  
<input type="file" @change="onFileChanged" :multiple="multiple" :accept="accept" /> 

+0

私はファイルをbase64に変換し、それを他のJSONデータとともに添付します。 –

+0

ありがとうMadhu、ファイルをbase64に変換すると、ファイルまたはイメージをBase64に変換するときに、サーバー側のPDFまたはImageまたはDocxであるかどうかをどのように識別できるか –

+0

最初の部分はファイル 'data:アプリケーション/ pdf; base64、..... 'これを使用すると、ファイルの種類を特定できます。 –

答えて

0

あなたはこのような何かを行うことができます。

次に、あなたがこのような何かを行うことができます。

uploadDocument(formData).then((response) => { 
    console.log('data sent'); 
}) 

はそれがお役に立てば幸いです。

+0

Sambor氏に感謝しますが、あなたのソリューションは要求に応じてファイルを送信するのみで、送信する他のJSONデータはありません。 –

+0

//データを追加してください。 formData.append( "data"、myData); –

関連する問題