aln*_*sre 7 ionic-framework angular capacitor
我创建了这个功能,可以在许多应用程序上很好地共享图像,但当涉及到WhatsApp或 Instagram 时,它无法共享图像。
async shareImage() {
let receiptName = 'Receipt N:123.png';
const div = this.screenshotElement.nativeElement;
const divHeight = div.clientHeight;
const divWidth = div.clientWidth;
const options = { background: '#ffffff', width: divWidth, height: divHeight };
await Filesystem.requestPermissions();
let base64Data = await domtoimage.toPng(div, options);
// device shareing
await Filesystem.writeFile({
path: receiptName,
data: base64Data,
directory: Directory.Cache
});
let fileResult = await Filesystem.getUri({
directory: Directory.Cache,
path: receiptName
});
let imageLink = Capacitor.convertFileSrc(fileResult.uri);
Share.share({
title: receiptName,
text: receiptName,
url: fileResult.uri,
})
.then(() => console.log('Successful share'))
.catch((error) => console.log('Error sharing ::: ', error));
}
Run Code Online (Sandbox Code Playgroud)
进口
import domtoimage from 'dom-to-image';
import { Share } from '@capacitor/share';
import { Filesystem, Directory, Encoding } from '@capacitor/filesystem';
import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
Run Code Online (Sandbox Code Playgroud)
包裹
"@capacitor/android": "^3.1.1",
"@capacitor/app": "^1.0.2",
"@capacitor/camera": "^1.0.3",
"@capacitor/cli": "^3.1.1",
"@capacitor/core": "^3.1.1",
"@capacitor/filesystem": "^1.0.2",
"@capacitor/haptics": "^1.0.2",
"@capacitor/ios": "^3.1.1",
"@capacitor/keyboard": "^1.0.2",
"@capacitor/push-notifications": "^1.0.3",
"@capacitor/share": "^1.0.3",
"@capacitor/status-bar": "^1.0.2",
Run Code Online (Sandbox Code Playgroud)
我发现@capacitor/share 有这个已知问题。
请参阅: https: //github.com/ionic-team/capacitor-plugins/issues/196
我通过使用解决了它
npm install cordova-plugin-x-socialsharing
npm install @ionic-native/social-sharing
ionic cap sync
Run Code Online (Sandbox Code Playgroud)
请参阅: https: //ionicframework.com/docs/native/social-sharing
| 归档时间: |
|
| 查看次数: |
4901 次 |
| 最近记录: |