QuickBlox / quickblox-flutter-sdk

quickblox-flutter-sdk
Other
8 stars 0 forks source link

Image Uploading and sending message with attachment not working. #34

Closed Anonymousthe1 closed 3 years ago

Anonymousthe1 commented 3 years ago
void sendImageMessage(String filePath,String _dialogId) async{
    // String url = "https://picutres.com/9384erw343.jpg";
    bool public = false;
    try {
      QBFile? file = await QB.content.upload(filePath, public: public);

      if(file != null) {
        int id = file.id!;
        String contentType = file.contentType!;

        QBAttachment attachment = QBAttachment();
        attachment.id = id.toString();
        attachment.contentType = contentType;

        //Required parameter
        attachment.type = "PHOTO";

        List<QBAttachment> attachmentsList = [];
        attachmentsList.add(attachment);
        // QBMessage message = QBMessage();
        // message.attachments = attachmentsList;
        // if(messagingCallBack !=null)
        //   messagingCallBack!.messageReceived(message);
        await QB.chat.sendMessage(_dialogId,attachments: attachmentsList, saveToHistory: true);
        // Send a message logic
      }
    } on PlatformException catch (e) {
      // Some error occurred, look at the exception message for more details
    }
  }

Logs

D/QBASDK (13307): === REQUEST ==== 769018c5-e423-4b8c-b473-a4752af84615 === D/QBASDK (13307): REQUEST D/QBASDK (13307): POST https://api.quickblox.com/blobs.json D/QBASDK (13307): HEADERS D/QBASDK (13307): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (13307): QB-SDK=Android 3.9.10 D/QBASDK (13307): QB-Token=17c1f4473eda5344444d7caa095259f359016763 D/QBASDK (13307): PARAMETERS D/QBASDK (13307): blob[content_type]=image/jpeg D/QBASDK (13307): blob[name]=image_picker1158184703923429237.jpg D/QBASDK (13307): blob[public]=false D/QBASDK (13307): blob[tag_list]= D/QBASDK (13307): INLINE D/QBASDK (13307): POST https://api.quickblox.com/blobs.json?blob[content_type]=image%2Fjpeg&blob[name]=image_picker1158184703923429237.jpg&blob[public]=false&blob[tag_list]= I/DpmTcmClient(13307): RegisterTcmMonitor from: $Proxy1 D/QBASDK (13307): *** D/QBASDK (13307): * RESPONSE 769018c5-e423-4b8c-b473-a4752af84615 D/QBASDK (13307): STATUS : 201 D/QBASDK (13307): HEADERS D/QBASDK (13307): Server=nginx D/QBASDK (13307): Access-Control-Allow-Origin=* D/QBASDK (13307): X-Request-Id=486a1fed-e122-4bc6-b652-5ea314f3e8ce D/QBASDK (13307): X-Content-Type-Options=nosniff D/QBASDK (13307): X-Runtime=0.059858 D/QBASDK (13307): Connection=close D/QBASDK (13307): X-Download-Options=noopen D/QBASDK (13307): X-Permitted-Cross-Domain-Policies=none D/QBASDK (13307): X-Android-Received-Millis=1629867519123 D/QBASDK (13307): Date=Wed, 25 Aug 2021 04:58:39 GMT D/QBASDK (13307): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (13307): Referrer-Policy=strict-origin-when-cross-origin D/QBASDK (13307): X-Frame-Options=SAMEORIGIN D/QBASDK (13307): X-Android-Selected-Protocol=http/1.1 D/QBASDK (13307): Strict-Transport-Security=max-age=31536000; includeSubDomainsmax-age=31536000; D/QBASDK (13307): Cache-Control=max-age=0, private, must-revalidate D/QBASDK (13307): ETag=W/"e68a59d6a076ef0ea70b15877b4196df" D/QBASDK (13307): X-Android-Response-Source=NETWORK 201 D/QBASDK (13307): X-Android-Sent-Millis=1629867518776 D/QBASDK (13307): Content-Length=983 D/QBASDK (13307): X-XSS-Protection=1; mode=block D/QBASDK (13307): QB-Token-ExpirationDate=2021-08-25 06:51:16 UTC D/QBASDK (13307): Content-Type=application/json; charset=utf-8 D/QBASDK (13307): BODY D/QBASDK (13307): '{"blob":{"id":10465014,"uid":"b03b72bb37c64a8a86ce30d27b79383d00","content_type":"image/jpeg","name":"image_picker1158184703923429237.jpg","size":null,"created_at":"2021-08-25T04:58:39Z","updated_at":"2021-08-25T04:58:39Z","blob_status":null,"set_completed_at":null,"public":false,"account_id":127097,"app_id":92003,"blob_object_access":{"id":10465014,"blob_id":10465014,"expires":"2021-08-25T05:58:39Z","object_access_type":"Write","params":"https://api.quickblox.com/blobs/10465014/upload/?acl=authenticated-read\u0026content_type=image%2Fjpeg\u0026expires=2021-08-25%2005%3A58%3A39%20UTC\u0026key=b03b72bb37c64a8a86ce30d27b79383d00\u0026policy=MDNkNmFjNWNlNGJjMGMwNjQ5NTNlYjUwMWZjNjI4MGI%3D%0A\u0026server_side_encryption=AES256\u0026success_action_status=201\u0026x-amz-algorithm=AWS4-HMAC-SHA256\u0026x-amz-credential=4eae6a3caf3eb830a5cc1b3ea451ad79%2F20210825%2Fqbprod%2Fs3%2Faws4_request\u0026x-amz-date=2021237T0558Z\u0026x-amz-signature=e649ab9891bbf0181b67190e9f7e3b12"}}}' D/QBASDK (13307): D/QBASDK (13307): ========================================================= D/QBASDK (13307): === REQUEST ==== 47bb042d-0585-41f4-96fe-eed447994222 === D/QBASDK (13307): REQUEST D/QBASDK (13307): POST https://api.quickblox.com/blobs/10465014/upload/ D/QBASDK (13307): HEADERS D/QBASDK (13307): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (13307): QB-SDK=Android 3.9.10 D/QBASDK (13307): QB-Token=17c1f4473eda5344444d7caa095259f359016763 D/QBASDK (13307): PARAMETERS D/QBASDK (13307): acl=authenticated-read D/QBASDK (13307): content_type=image/jpeg D/QBASDK (13307): expires=2021-08-25 05:58:39 UTC D/QBASDK (13307): key=b03b72bb37c64a8a86ce30d27b79383d00 D/QBASDK (13307): policy=MDNkNmFjNWNlNGJjMGMwNjQ5NTNlYjUwMWZjNjI4MGI= D/QBASDK (13307): D/QBASDK (13307): server_side_encryption=AES256 D/QBASDK (13307): success_action_status=201 D/QBASDK (13307): x-amz-algorithm=AWS4-HMAC-SHA256 D/QBASDK (13307): x-amz-credential=4eae6a3caf3eb830a5cc1b3ea451ad79/20210825/qbprod/s3/aws4_request D/QBASDK (13307): x-amz-date=2021237T0558Z D/QBASDK (13307): x-amz-signature=e649ab9891bbf0181b67190e9f7e3b12 D/QBASDK (13307): INLINE D/QBASDK (13307): POST https://api.quickblox.com/blobs/10465014/upload/?acl=authenticated-read&content_type=image%2Fjpeg&expires=2021-08-25+05%3A58%3A39+UTC&key=b03b72bb37c64a8a86ce30d27b79383d00&policy=MDNkNmFjNWNlNGJjMGMwNjQ5NTNlYjUwMWZjNjI4MGI%3D%0A&server_side_encryption=AES256&success_action_status=201&x-amz-algorithm=AWS4-HMAC-SHA256&x-amz-credential=4eae6a3caf3eb830a5cc1b3ea451ad79%2F20210825%2Fqbprod%2Fs3%2Faws4_request&x-amz-date=2021237T0558Z&x-amz-signature=e649ab9891bbf0181b67190e9f7e3b12 V/FA (13307): Inactivity, disconnecting from the service D/QBASDK (13307): onProgressUpdate7 D/QBASDK (13307): onProgressUpdate14 D/QBASDK (13307): onProgressUpdate22 D/QBASDK (13307): onProgressUpdate30 D/QBASDK (13307): onProgressUpdate39 D/QBASDK (13307): onProgressUpdate46 D/QBASDK (13307): onProgressUpdate54 D/QBASDK (13307): onProgressUpdate62 D/QBASDK (13307): onProgressUpdate72 D/QBASDK (13307): onProgressUpdate80 D/QBASDK (13307): onProgressUpdate88 D/QBASDK (13307): onProgressUpdate98 D/QBASDK (13307): onProgressUpdate100 D/QBASDK (13307): *** D/QBASDK (13307): * RESPONSE 47bb042d-0585-41f4-96fe-eed447994222 D/QBASDK (13307): STATUS : 404 D/QBASDK (13307): HEADERS D/QBASDK (13307): Server=nginx D/QBASDK (13307): Access-Control-Allow-Origin=* D/QBASDK (13307): X-Request-Id=ca56255d-c739-43d2-861d-d9710367de8f D/QBASDK (13307): X-Content-Type-Options=nosniff D/QBASDK (13307): X-Runtime=0.093287 D/QBASDK (13307): Connection=close D/QBASDK (13307): X-Download-Options=noopen D/QBASDK (13307): X-Permitted-Cross-Domain-Policies=none D/QBASDK (13307): X-Android-Received-Millis=1629867521010 D/QBASDK (13307): Date=Wed, 25 Aug 2021 04:58:41 GMT D/QBASDK (13307): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (13307): Referrer-Policy=strict-origin-when-cross-origin D/QBASDK (13307): X-Frame-Options=SAMEORIGIN D/QBASDK (13307): X-Android-Selected-Protocol=http/1.1 D/QBASDK (13307): Strict-Transport-Security=max-age=31536000; includeSubDomains D/QBASDK (13307): X-Android-Response-Source=NETWORK 404 D/QBASDK (13307): X-Android-Sent-Millis=1629867520283 D/QBASDK (13307): Content-Length=66 D/QBASDK (13307): X-XSS-Protection=1; mode=block D/QBASDK (13307): Content-Type=application/json; charset=utf-8 D/QBASDK (13307): BODY D/QBASDK (13307): '{"code":null,"message":"Possible subdomains: admin, api, billing"}'

ghost commented 3 years ago

Hello,

This is Nikolay from QuickBlox support.

The issue may be caused by the file size limit for your plan. You may check the limits here: https://quickblox.com/pricing/

Please double-check if the files you tried to upload are smaller. Additionally, please make sure that you use UID of attachments: String uid = file!.uid;

Also, please make sure that you have followed our official documentation on how to upload files and get info about uploaded files correctly: https://docs.quickblox.com/docs/flutter-content#get-file-info

And let us know if you use the latest version of the QuickBlox Flutter SDK: https://pub.dev/packages/quickblox_sdk/versions/0.6.0-beta

Anonymousthe1 commented 3 years ago

@QB-nikolay-zolotarov I have checked the image is small than 10 mb then also it is showing that error. Here is another similar open issue of file uploading https://github.com/QuickBlox/quickblox-flutter-sdk/issues/26

ghost commented 3 years ago

@Anonymousthe1 Hello,

Based on our experience with similar issues, it was related to the Flutter image picker compression and not related to the QuickBlox Flutter SDK.

Please check the compression settings on your end and let us know if the issue is resolved.

If the issue persists, please provide us with the following information to double-check it on our end:

  1. Version of QuickBlox Flutter SDK. Please make sure that you use the latest version: https://pub.dev/packages/quickblox_sdk/versions/0.6.1-beta
  2. Platform (Android, iOS or both)
  3. Version of the platform (e.g. Android 11, iOS 13)
  4. Flutter version.
  5. Dart version.
skumawat186 commented 3 years ago

D/QBASDK (25426): === REQUEST ==== e1646803-8ab1-48e5-862d-a14573c7ae85 === D/QBASDK (25426): REQUEST D/QBASDK (25426): POST https://api.quickblox.com/blobs.json D/QBASDK (25426): HEADERS D/QBASDK (25426): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (25426): QB-SDK=Android 3.9.10 D/QBASDK (25426): QB-Token=ed21ae0f3cad7e603d7d6961cadef13ab800f7fd D/QBASDK (25426): PARAMETERS D/QBASDK (25426): blob[content_type]=image/jpeg D/QBASDK (25426): blob[name]=image_picker7713628329443733399.jpg D/QBASDK (25426): blob[public]=true D/QBASDK (25426): blob[tag_list]= D/QBASDK (25426): INLINE D/QBASDK (25426): POST https://api.quickblox.com/blobs.json?blob[content_type]=image%2Fjpeg&blob[name]=image_picker7713628329443733399.jpg&blob[public]=true&blob[tag_list]= D/QBASDK (25426): *** D/QBASDK (25426): * RESPONSE e1646803-8ab1-48e5-862d-a14573c7ae85 D/QBASDK (25426): STATUS : 201 D/QBASDK (25426): HEADERS D/QBASDK (25426): Server=nginx D/QBASDK (25426): Access-Control-Allow-Origin=* D/QBASDK (25426): X-Request-Id=b130c2ab-d5e5-4ede-8856-37724440e405 D/QBASDK (25426): X-Content-Type-Options=nosniff D/QBASDK (25426): X-Runtime=0.057484 D/QBASDK (25426): D/QBASDK (25426): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (25426): Referrer-Policy=strict-origin-when-cross-origin D/QBASDK (25426): X-Frame-Options=SAMEORIGIN D/QBASDK (25426): X-Android-Selected-Protocol=http/1.1 D/QBASDK (25426): Strict-Transport-Security=max-age=31536000; includeSubDomainsmax-age=31536000; D/QBASDK (25426): Cache-Control=max-age=0, private, must-revalidate D/QBASDK (25426): ETag=W/"b7f9c140052479c4f7b293d185f84738" D/QBASDK (25426): X-Android-Response-Source=NETWORK 201 D/QBASDK (25426): X-Android-Sent-Millis=1632704375471 D/QBASDK (25426): Content-Length=974 D/QBASDK (25426): X-XSS-Protection=1; mode=block D/QBASDK (25426): QB-Token-ExpirationDate=2021-09-27 02:59:13 UTC D/QBASDK (25426): Content-Type=application/json; charset=utf-8 D/QBASDK (25426): BODY D/QBASDK (25426): '{"blob":{"id":10501923,"uid":"03a9940668064ef5b0e2b8ef84b8f41700","content_type":"image/jpeg","name":"image_picker7713628329443733399.jpg","size":null,"created_at":"2021-09-27T00:59:36Z","updated_at":"2021-09-27T00:59:36Z","blob_status":null,"set_completed_at":null,"public":true,"account_id":82250,"app_id":63485,"blob_object_access":{"id":10501923,"blob_id":10501923,"expires":"2021-09-27T01:59:36Z","object_access_type":"Write","params":"https://api.quickblox.com/blobs/10501923/upload/?acl=public-read\u0026content_type=image%2Fjpeg\u0026expires=2021-09-27%2001%3A59%3A36%20UTC\u0026key=03a9940668064ef5b0e2b8ef84b8f41700\u0026policy=ZWU2NThhMWUyODlkYjAzOTVhZjc2NjEzOTcyNjQ5ZTA%3D%0A\u0026server_side_encryption=AES256\u0026success_action_status=201\u0026x-amz-algorithm=AWS4-HMAC-SHA256\u0026x-amz-credential=0a29add80e92558243913a2f9f086005%2F20210927%2Fqbprod%2Fs3%2Faws4_request\u0026x-amz-date=2021270T0159Z\u0026x-amz-signature=0e57bb970bcc4251aa67d7fd174c2113"}}}' D/QBASDK (25426): D/QBASDK (25426): QB-SDK=Android 3.9.10 D/QBASDK (25426): QB-Token=ed21ae0f3cad7e603d7d6961cadef13ab800f7fd D/QBASDK (25426): PARAMETERS D/QBASDK (25426): acl=public-read D/QBASDK (25426): content_type=image/jpeg D/QBASDK (25426): expires=2021-09-27 01:59:36 UTC D/QBASDK (25426): key=03a9940668064ef5b0e2b8ef84b8f41700 D/QBASDK (25426): policy=ZWU2NThhMWUyODlkYjAzOTVhZjc2NjEzOTcyNjQ5ZTA= D/QBASDK (25426): D/QBASDK (25426): server_side_encryption=AES256 D/QBASDK (25426): success_action_status=201 D/QBASDK (25426): x-amz-algorithm=AWS4-HMAC-SHA256 D/QBASDK (25426): x-amz-credential=0a29add80e92558243913a2f9f086005/20210927/qbprod/s3/aws4_request D/QBASDK (25426): x-amz-date=2021270T0159Z D/QBASDK (25426): x-amz-signature=0e57bb970bcc4251aa67d7fd174c2113 D/QBASDK (25426): INLINE D/QBASDK (25426): POST https://api.quickblox.com/blobs/10501923/upload/?acl=public-read&content_type=image%2Fjpeg&expires=2021-09-27+01%3A59%3A36+UTC&key=03a9940668064ef5b0e2b8ef84b8f41700&policy=ZWU2NThhMWUyODlkYjAzOTVhZjc2NjEzOTcyNjQ5ZTA%3D%0A&server_side_encryption=AES256&success_action_status=201&x-amz-algorithm=AWS4-HMAC-SHA256&x-amz-credential=0a29add80e92558243913a2f9f086005%2F20210927%2Fqbprod%2Fs3%2Faws4_request&x-amz-date=2021270T0159Z&x-amz-signature=0e57bb970bcc4251aa67d7fd174c2113 D/QBASDK (25426): onProgressUpdate6 D/QBASDK (25426): onProgressUpdate14 D/QBASDK (25426): onProgressUpdate21 D/QBASDK (25426): onProgressUpdate30 D/QBASDK (25426): onProgressUpdate39 D/QBASDK (25426): onProgressUpdate54 D/QBASDK (25426): onProgressUpdate61 D/QBASDK (25426): onProgressUpdate72 D/QBASDK (25426): onProgressUpdate79 D/QBASDK (25426): onProgressUpdate88 D/QBASDK (25426): onProgressUpdate98 D/QBASDK (25426): onProgressUpdate100 D/QBASDK (25426): *** D/QBASDK (25426): * RESPONSE bedfe53c-1a46-4fa5-8c53-b2f9e2caea0f D/QBASDK (25426): STATUS : 404 D/QBASDK (25426): HEADERS D/QBASDK (25426): Server=nginx D/QBASDK (25426): Access-Control-Allow-Origin=* D/QBASDK (25426): X-Request-Id=c23dde09-3ea0-4799-af52-2cee1f48484a D/QBASDK (25426): X-Content-Type-Options=nosniff D/QBASDK (25426): X-Runtime=0.137099 D/QBASDK (25426): Connection=close D/QBASDK (25426): X-Download-Options=noopen D/QBASDK (25426): X-Permitted-Cross-Domain-Policies=none D/QBASDK (25426): X-Android-Received-Millis=1632704377672 D/QBASDK (25426): Date=Mon, 27 Sep 2021 00:59:37 GMT D/QBASDK (25426): QuickBlox-REST-API-Version=0.1.1 D/QBASDK (25426): Referrer-Policy=strict-origin-when-cross-origin D/QBASDK (25426): X-Frame-Options=SAMEORIGIN D/QBASDK (25426): X-Android-Selected-Protocol=http/1.1

D/QBASDK (25426): Strict-Transport-Security=max-age=31536000; includeSubDomains D/QBASDK (25426): X-Android-Response-Source=NETWORK 404 D/QBASDK (25426): X-Android-Sent-Millis=1632704376942 D/QBASDK (25426): Content-Length=66 D/QBASDK (25426): X-XSS-Protection=1; mode=block D/QBASDK (25426): Content-Type=application/json; charset=utf-8 D/QBASDK (25426): BODY D/QBASDK (25426): '{"code":null,"message":"Possible subdomains: admin, api, billing"}' D/QBASDK (25426): I/flutter (25426): PlatformException(Entity you are looking for was not found.,Possible subdomains: admin, api, billing, null, null, null)

skumawat186 commented 3 years ago

I have got below issue in upload file '{"code":null,"message":"Possible subdomains: admin, api, billing"}'

ghost commented 3 years ago

@Anonymousthe1 @skumawat186 Hello,

In order to investigate the issue further, please provide me with the following information:

  1. A link to the library you use to upload files.
  2. From where did you upload files? (Gallery, internal storage, etc.).
  3. Please attach the file you tried to upload.
  4. Platform where the issue is reproduced (Android, iOS or both)
  5. Device models.
  6. Version of the platform (e.g. Android 11, iOS 13).
  7. Flutter version.
  8. Dart version.
ghost commented 3 years ago

@Anonymousthe1 @skumawat186 Hello,

I am back with an update.

Our developers investigated the issue. Currently, our Flutter SDK does not support image_picker. Please use file_picker: https://pub.dev/packages/file_picker The Quickblox Flutter SDK supports file_picker and this library has more functionality.

Please test it on your end and let me know if the issue is resolved.

Anonymousthe1 commented 3 years ago

@QB-nikolay-zolotarov

Thanks you let me integrate and update you.

Anonymousthe1 commented 3 years ago

@QB-nikolay-zolotarov

Thank you, It's working like a charm.