Skip to content

Handling multipart/form data to upload items to the attachable endpoints. #152

Open
@devcaco

Description

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

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions