Sample code for 30+ languages & platforms
Dart

Lightspeed - Upload an Image

See more Lightspeed Examples

Create (uploads) a new product image.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final http = CkHttp();

  // Implements the following CURL command:

  // curl   -u API_KEY:API_SECRET \
  //     -H "Content-Type: application/json" \
  //     -X POST \
  //     -d '{
  //   "productImage": {
  //     "attachment": "base64-encoded-contents",
  //     "filename": "the-filename-with-extension-goes-here.jpg"
  //   }
  // }' \
  // "https://api.webshopapp.com/en/products/product_id/images.json"

  // Use the following online tool to generate HTTP code from a CURL command
  // Convert a cURL Command to HTTP Source Code

  http.login = 'API_KEY';
  http.password = 'API_SECRET';

  // Use this online tool to generate code from sample JSON:
  // Generate Code to Create JSON

  // The following JSON is sent in the request body.

  // {
  //   "productImage": {
  //     "attachment": "base64-encoded-contents",
  //     "filename": "the-filename-with-extension-goes-here.jpg"
  //   }
  // }

  final bdImage = CkBinData();
  try {
    bdImage.loadFile('qa_data/jpg/starfish.jpg');
  } on ChilkatException {
    print('Failed to load image file.');
    return;
  }

  final json = CkJsonObject();
  json.updateString('productImage.attachment', bdImage.getEncoded('base64'));
  json.updateString('productImage.filename', 'starfish.jpg');

  http.setRequestHeader('Content-Type', 'application/json');

  // The product ID in the URL is "112265200".
  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://api.webshopapp.com/en/products/112265200/images.json', json, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  final sbResponseBody = CkStringBuilder();
  resp.getBodySb(sbResponseBody);
  final jResp = CkJsonObject();
  jResp.loadSb(sbResponseBody);
  jResp.emitCompact = false;

  print('Response Body:');
  print(jResp.emit());

  final respStatusCode = resp.statusCode;
  print('Response Status Code = $respStatusCode');
  if (respStatusCode >= 400) {
    print('Response Header:');
    print(resp.header);
    print('Failed.');
    return;
  }

  // Sample JSON response:
  // (Sample code for parsing the JSON response is shown below)

  // {
  //   "productImage": {
  //     "id": 13362569,
  //     "sortOrder": 3,
  //     "createdAt": "2019-06-06T14:52:07+00:00",
  //     "updatedAt": "2019-06-06T14:52:07+00:00",
  //     "extension": "png",
  //     "size": 8016,
  //     "title": "logo",
  //     "thumb": "https://cdn.shoplightspeed.com/shops/000001/files/14271562/50x50x2/logo.png",
  //     "src": "https://cdn.shoplightspeed.com/shops/000001/files/14271562/logo.png"
  //   }
  // }

  // Sample code for parsing the JSON response...
  // Use the following online tool to generate parsing code from sample JSON:
  // Generate Parsing Code from JSON

  final productImageId = jResp.intOf('productImage.id');
  final productImageSortOrder = jResp.intOf('productImage.sortOrder');
  final productImageCreatedAt = jResp.stringOf('productImage.createdAt');
  final productImageUpdatedAt = jResp.stringOf('productImage.updatedAt');
  final productImageExtension = jResp.stringOf('productImage.extension');
  final productImageSize = jResp.intOf('productImage.size');
  final productImageTitle = jResp.stringOf('productImage.title');
  final productImageThumb = jResp.stringOf('productImage.thumb');
  final productImageSrc = jResp.stringOf('productImage.src');
}