[英]Unable to share image using Ionic2/3 Social Share
在這里,我首先使用離子社交共享來共享圖像,為此,我所做的就是使用Canvas抓取圖像,並且將相同的圖像代碼導出到共享插件。 當我這樣做時,我的身體正處於下方,我的意思是我通過電子郵件發送
'data:image/png;base64,R0lGODlhDAAMALMBAP8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUKAAEALAAAAAAMAAwAQAQZMMhJK7iY4p3nlZ8XgmNlnibXdVqolmhcRQA7'
下面是我的代碼: Home.html
<canvas #myCanvas>
<ion-card>
<img [src]="image">
<ion-card-content>
<ion-card-title>
Nine Inch Nails Live
</ion-card-title>
<p>
The most popular industrial group ever, and largely
responsible for bringing the music to a mass audience.
</p>
</ion-card-content>
</ion-card>
</canvas>
<button ion-button (click)="getDat()"></button>
.ts代碼
@ViewChild('myCanvas') myCanvas:ElementRef ;
image:any = 'https://images.pexels.com/photos/6966/abstract-music-rock-bw.jpg?auto=compress&cs=tinysrgb&h=350';
constructor(public navCtrl: NavController,public share:SocialSharing) {
}
getDat(){
var canvas = this.myCanvas.nativeElement;
var imageBase64Data = canvas.toDataURL("image/png");
console.log(imageBase64Data)
this.share.canShareViaEmail().then(() => {
this.share.shareViaEmail(imageBase64Data,'IDCARD', ['trend@gmail.co']).then(() => {
;
}).catch(() => {
// Error!
});
}).catch(() => {
// Sharing via email is not possible
});
}
這樣就可以在體內發送圖像
您可以使用電子郵件編輯器添加附件。 請參見下面的代碼。
import { EmailComposer } from '@ionic-native/email-composer';
constructor(private emailComposer: EmailComposer) { }
...
this.emailComposer.isAvailable().then((available: boolean) =>{
if(available) {
//Now we know we can send
}
});
let email = {
to: 'max@mustermann.de',
cc: 'erika@mustermann.de',
bcc: ['john@doe.com', 'jane@doe.com'],
attachments: [
'file://img/logo.png',
'res://icon.png',
'base64:icon.png//iVBORw0KGgoAAAANSUhEUg...',
'file://README.pdf'
],
subject: 'Cordova Icons',
body: 'How are you? Nice greetings from Leipzig',
isHtml: true
};
// Send a text message using default options
this.emailComposer.open(email);
}
有關更多信息,請檢查https://ionicframework.com/docs/native/email-composer/
更新
您可以將其用於社交分享
socialsharing.shareViaEmail(
'Message', // can contain HTML tags, but support on Android is rather limited: http://stackoverflow.com/questions/15136480/how-to-send-html-content-with-image-through-android-default-email-client
'Subject',
['to@person1.com', 'to@person2.com'], // TO: must be null or an array
['cc@person1.com'], // CC: must be null or an array
null, // BCC: must be null or an array
['https://www.google.nl/images/srpr/logo4w.png','www/localimage.png'], // FILES: can be null, a string, or an array
onSuccess, // called when sharing worked, but also when the user cancelled sharing via email. On iOS, the callbacks' boolean result parameter is true when sharing worked, false if cancelled. On Android, this parameter is always true so it can't be used). See section "Notes about the successCallback" below.
onError // called when sh*t hits the fan
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.