shareFile method

Future<void> shareFile({
  1. required int scene,
  2. String? title,
  3. String? description,
  4. Uint8List? thumbData,
  5. Uint8List? fileData,
  6. Uri? fileUri,
  7. String? fileExtension,
})

分享 - 文件

Implementation

Future<void> shareFile({
  required int scene,
  String? title,
  String? description,
  Uint8List? thumbData,
  Uint8List? fileData,
  Uri? fileUri,
  String? fileExtension,
}) {
  assert(title == null || title.length <= 512);
  assert(description == null || description.length <= 1024);
  assert(thumbData == null || thumbData.lengthInBytes <= 32 * 1024);
  assert(
    (fileData != null && fileData.lengthInBytes <= 10 * 1024 * 1024) ||
        (fileUri != null &&
            fileUri.isScheme(_SCHEME_FILE) &&
            fileUri.toFilePath().length <= 10 * 1024 &&
            File.fromUri(fileUri).lengthSync() <= 10 * 1024 * 1024),
  );
  assert(Platform.isAndroid || (fileExtension?.isNotEmpty ?? false));
  return _channel.invokeMethod<void>(
    _METHOD_SHAREFILE,
    <String, dynamic>{
      _ARGUMENT_KEY_SCENE: scene, // Scene
      if (title != null) _ARGUMENT_KEY_TITLE: title,
      if (description != null) _ARGUMENT_KEY_DESCRIPTION: description,
      if (thumbData != null) _ARGUMENT_KEY_THUMBDATA: thumbData,
      if (fileData != null) _ARGUMENT_KEY_FILEDATA: fileData,
      if (fileUri != null) _ARGUMENT_KEY_FILEURI: fileUri.toString(),
      if (fileExtension != null) _ARGUMENT_KEY_FILEEXTENSION: fileExtension,
    },
  );
}