web-dev-qa-db-ja.com

Axios経由でファイルをLaravel

Axiosを介してクライアントからサーバーにファイルを投稿する必要があります。

これが私のVuejsコードです:

methods: {
    'successUpload': function (file) {
        const config = { headers: { 'Content-Type': 'multipart/form-data' } };
        axios.post('/Upload/File',file, config).then(function (response) {
            console.log(response.data);
        });
    }
}

そしてここに私のLaravel送信されたファイルを処理するためのコードがあります:

public function uploadFile(Request $request)
{
    if($request->hasFile('file'))
      return "It's a File";

    return "No! It's not a File";
}

ただし、常にNo It's not a Fileを返します。

どんな助けでも大歓迎です。

8
Hamed Kamrava

FormDataオブジェクトを作成し、画像ファイルを追加する必要があります。

methods: {
  'successUpload': function (file) {

    let data = new FormData();
    data.append('file', document.getElementById('file').files[0]);

    axios.post('/Upload/File',data).then(function (response) {
        console.log(response.data);
    });
  }
}

例は ここ です。

それがうまくいくかどうか教えてください。

14
whoacowboy