【问题标题】:web share api - share image from url or sourceweb share api - 从 url 或源共享图像
【发布时间】:2021-03-30 13:41:55
【问题描述】:

如何与来自<img src="example.jpg"> 的源共享图像使用网络共享 api。这是我的代码不起作用

let file = "https://tukarjual.com/images/ads/all-category.jpg"
        let filesArray = [file]

        if (navigator.canShare && navigator.canShare({ files: filesArray })) {
            await navigator.share({
                files   : filesArray,
                title   : 'Layanan TukarJual',
                text    : 'Ayo dukung karya putra daerah Kotabaru dengan belanja online di TukarJual',
                url     : 'https://tukarjual.com'
            })
        }

【问题讨论】:

    标签: web-share


    【解决方案1】:

    您需要将图像作为 blob 共享。因此,首先将图像转换为 blob,然后共享。一个简单的方法是调用fetch()

    const blob = await fetch('https://cdn.glitch.com/f96f78ec-d35d-447b-acf4-86f2b3658491%2Fchuck.png?v=1618311092497').then(r=>r.blob())
    

    然后您可以将此 blob 传递给您的共享函数:

    const share = async (title, text, blob) => {
      const data = {
        files: [
          new File([blob], 'file.png', {
            type: blob.type,
          }),
        ],
        title: title,
        text: text,
      };
      try {
        if (!(navigator.canShare(data))) {
          throw new Error("Can't share data.", data);
        }
        await navigator.share(data);
      } catch (err) {
        console.error(err.name, err.message);
      }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多