oauth-jsclient
                                
                                 oauth-jsclient copied to clipboard
                                
                                    oauth-jsclient copied to clipboard
                            
                            
                            
                        Handling multipart/form data to upload items to the attachable endpoints.
I was wondering if this library supports uploading files to the attachable endpoint? Currently if I try to do this.
`const image = images[0]; const imageFile = fs.createReadStream(image.rawInfo.path);
    const uploadedImage = await QBFileUpload(
      image.rawInfo.filename,
      image.rawInfo.mimetype,
      imageFile,
      'Item',
      newQBProduct.Id
    );
    console.log({ uploadedImage });
    const form = new FormData();
    form.append('file_content_01', imageFile, {
      filename: image.rawInfo.filename,
      contentType: image.rawInfo.mimetype,
    });
    form.append(
      'file_metadata_01',
      JSON.stringify({
        AttachableRef: [
          {
            EntityRef: { type: 'Item', value: newQBProduct.Id },
          },
        ],
        ContentType: image.rawInfo.mimetype,
        FileName: image.rawInfo.filename,
      }),
      {
        contentType: 'application/json',
        filename: 'file_metadata_01',
      }
    );
    console.log({ formHeader: form.getHeaders() });
    const imageResponse = await qbClient.makeApiCall({
      url: `${process.env.QB_API_URL}/v3/company/${process.env.QB_COMPANY_ID}/upload?minorversion=69`,
      method: 'POST',
      headers: {
        ...form.getHeaders(),
      },
      body: form,
    });`
I get a response error: Content length missing in request","Detail":"We cannot find the content-length header in the request.","code":"6020"}
Thanks
CES
Hi,
We do not have support for multipart/form-data at the moment. Appreciate it if you have can put in a PR if you have it handy.
Please see the API references for uploading attachment: https://developer.intuit.com/app/developer/qbo/docs/workflows/attach-images-and-notes#attaching-a-file-to-an-object
Error codes (e.g. 6020) in your case reflects that Content length is missing in request and Can’t find the content-length header, as per the QBO V3 API error codes: https://developer.intuit.com/app/developer/qbo/docs/develop/troubleshooting/error-codes
Try passing Content-Length in the header. e.g. ''Content-Length': Buffer.byteLength(body)
Thanks