iosswiftfilestack

Filestack iOS getting 400 error "Parameters are invalid" on the image upload


I'm trying to use Filestack iOS SDK inside React Native project. So I passing local file URL from JavaScript and using the following code to upload image

@objc(upload:callback:)
func upload(file: String, callback: @escaping RCTResponseSenderBlock) {
let localURL = URL(string: file)!

client?.upload(from: localURL, uploadProgress: { (progress) in
  // Here you may update the UI to reflect the upload progress.
  print("progress = \(String(describing: progress))")
}) { (response) in
  // Try to obtain Filestack handle
  if let json = response?.json, let handle = json["handle"] as? String {
    // Use Filestack handle
    print(json)
    callback([json]);
  } else if let error = response?.error {
    // Handle error
    print(error)
    callback([error]);
  }
  print(response)
}
}  

I'm getting progress data so I supose image is uploading. But getting error - aborted

here is a print of response in the MultipartUpload.swift

(request: Optional(https://upload.filestackapi.com/multipart/complete),response: Optional(<NSHTTPURLResponse: 0x6000032664e0> { URL: https://upload.filestackapi.com/multipart/complete } { Status Code: 400, Headers {
    "Access-Control-Allow-Headers" =     (
        "Origin,Content-Type,Accept,User-Agent,UJID,UJID-Path,Filestack-Upload-Region,Filestack-Source"
    );
    "Access-Control-Allow-Methods" =     (
        "HEAD,OPTIONS,POST,PUT"
    );
    "Access-Control-Allow-Origin" =     (
        "*"
    );
    Allow =     (
        "HEAD, OPTIONS, POST, PUT"
    );
    Connection =     (
        "keep-alive"
    );
    "Content-Length" =     (
        128
    );
    "Content-Type" =     (
        "text/plain; charset=utf-8"
    );
    Date =     (
        "Thu, 13 Dec 2018 17:11:35 GMT"
    );
    Server =     (
        nginx
    );
    "X-Filestack-Apikey" =     (
        xxxxxxxxxxxxxx
    );
} }), json: Optional(["i": , "c": {
    ujid = "c916857b-0a22-4305-9324-6f1055b610f2";
    "ujid_path" = "ul-0";
}, "error": Parameters are invalid, "t": 1544721095]), error: nil)

Am I doing anything wrong?


Solution

  • Following pull request https://github.com/filestack/filestack-swift/pull/12 resolve my issue.