plus_plugins
plus_plugins copied to clipboard
[Bug]: share_plus on windows does not attach file instead it attach file path
Platform
Windows 11
Plugin
share_plus
Version
share_plus: ^9.0.0
Flutter SDK
3.22
Steps to reproduce
Future
if (Platform.isWindows || Platform.isLinux) {
final bytes = await file.readAsBytes();
final mimeType = _lookupMimeType(filePath);
await Share.shareXFiles(
[XFile.fromData(bytes, mimeType: mimeType, name: fileName)],
subject: 'Report Download - $formattedDate',
);
} else {
await Share.shareXFiles(
[XFile(filePath)],
subject: 'Report Download - $formattedDate',
);
}
}
Code Sample
Future<void> shareFileAsAttachment(String filePath) async {
final now = DateTime.now();
final formattedDate = DateFormat('yyyy-MM-dd').format(now);
final file = File(filePath);
final fileName = p.basename(file.path);
if (Platform.isWindows || Platform.isLinux) {
final bytes = await file.readAsBytes();
final mimeType = _lookupMimeType(filePath);
await Share.shareXFiles(
[XFile.fromData(bytes, mimeType: mimeType, name: fileName)],
subject: 'Report Download - $formattedDate',
);
} else {
await Share.shareXFiles(
[XFile(filePath)],
subject: 'Report Download - $formattedDate',
);
}
}
Logs
N/A
Flutter Doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.22.2, on macOS 14.4.1 23E224 darwin-x64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] IntelliJ IDEA Community Edition (version 2024.1.1)
[✓] VS Code (version 1.88.1)
[✓] Connected device (2 available)
[✓] Network resources
Checklist before submitting a bug
- [X] I searched issues in this repository and couldn't find such bug/problem
- [X] I Google'd a solution and I couldn't find it
- [X] I searched on StackOverflow for a solution and I couldn't find it
- [X] I read the README.md file of the plugin
- [X] I'm using the latest version of the plugin
- [X] All dependencies are up to date with
flutter pub upgrade - [X] I did a
flutter clean - [X] I tried running the example project
Hello, I have no idea, honestly, but a couple of things to consider nevertheless:
- Avoid using
XFile.fromDataand instead write down the file in a folder you control. This shold be mentioned in theREADME.mdfile. Thenameparameter inXFiledoes nothing, only works on web, this is a known issue in theXFiledart package. -
shareXFile()doesn't work at all on Linux. Also mentioned on the README file. Saying this because you have|| Platform.isLinuxin the example code.
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 15 days