javascript - Hur delar man en enda Base64 URL-bild via Web Share API?
Så, jag behöver dela en base64-bildsträng med Web Share API på TypeScript.
Skulle det vara okej om jag skickade base64-strängen som URL-parametern på det här sättet:
var base64url = "data:image/octet-stream;base64,/9j/4AAQSkZ...."
navigator.share({
title: 'Hello',
text: 'Check out this image!',
url: base64url ,
})
Eller behöver jag ha en fil-array och använda Web Share API v2? Om så är fallet, hur implementerar jag det, allt jag har är en base64-sträng och de exempel jag kunde hitta var för förvirrande.
Jag är ny på det här området så lite hjälp skulle uppskattas mycket!
Svar #1
Som nämnts i kommentarerna, kommer delning av URL:en i URL-fältet inte att ge ett bra resultat för dina användare.
Du kan använda Web Share API v2 med följande kod:
const base64url = "data:image/octet-stream;base64,/9j/4AAQSkZ...."
const blob = await (await fetch(base64url)).blob();
const file = new File([blob], 'fileName.png', { type: blob.type });
navigator.share({
title: 'Hello',
text: 'Check out this image!',
files: [file],
})
Du kan behöva justera filtillägget och mime-typen beroende på dina faktiska bildadresser.
Var dock medveten om att v2 för närvarande endast är tillgänglig på Android Chrome (jag kan inte hitta en bra källa för det men jag gjorde precis detta på ett projekt). Du kan kontrollera tillgänglighet vid körning genom att använda navigator.canShare().
