ハマった箇所
axiosでファイルも、オブジェクトも送りたいが、オブジェクトが[object Object]になってしまう。
なぜ送れなかったのか?
[FormData.append](https://developer.mozilla.org/ja/docs/Web/API/FormData/append)
The field's value. This can be a USVString or Blob (including subclasses such as File). If none of these are specified the value is converted to a string.
FormDataに追加するときにValueはUSVStringかBlobにしてね、それ以外だと全部テキストにするよとのこと。
その為直接入れるのはNG
送る方法
Axiosでファイルを送る方法
storeFiles(reportId) {
        let formData = new FormData()
        //複数送りたいときは配列にしてあげることも可能
        this.inputs.map(file => {
          formData.append('files[]', file)
        })
        //headerを設定する必要あり。
        let config = {headers: {'content-type': 'multipart/form-data'}}
        axios.post('/path/desu', {
          report_id: reportId
        }), formData, config)
          .then(res => {
            console.log(res.data)
          })
      }
Axiosでファイルとオブジェクトを同じFormDataで送る方法
//送りたいオブジェクト
var examples  = {a: 'task', b: {c: 'small_task'}}
storeFiles(reportId) {
        let formData = new FormData()
        //複数送りたいときは配列にしてあげることも可能
        this.inputs.map(file => {
          formData.append('files[]', file)
        })
        //JSON文字列に変換
        let tasks = JSON.stringfy(this.examples)
        formData.append('tasks', tasks)
        //headerを設定する必要あり。
        let config = {headers: {'content-type': 'multipart/form-data'}}
        axios.post('/path/desu', {
          report_id: reportId
        }), formData, config)
          .then(res => {
            console.log(res.data)
          })
      }
サーバーサイドでJson文字列をデコードしてあげれば配列としてきちんと扱うことができる。
//laravel
public function store(Request $request, $report_id) 
{
    $data = $request->all();
    $task = json_decode($data['tasks']);
    var_dump($task);
    // ['a' => 'task, 'b' => ['c' => 'small_task']]
}