【问题标题】:Why web share API converts file name in random?为什么网络共享 API 会随机转换文件名?
【发布时间】:2022-01-26 08:51:53
【问题描述】:

为文件实现简单和默认的网络共享API 2 级代码,API 将文件名更改为随机。

以防万一我在这里显示我与API 共享文件的代码。我说“以防万一”,因为我在官方 chromestatus 网站和其他示例网站中也遇到了同样的情况。

异步函数 enviar_gmail(){ const title = document.getElementById('subject').value; const text = document.getElementById('body-big').value; const response = await fetch('assets/img/hello.pdf'); const blob = 等待 response.blob(); const filesArray = [new File([blob],'hello.pdf',{type: "application/pdf", lastModified: new Date().getTime()})]; if (!navigator.canShare || !navigator.canShare({files: filesArray})) { $('.notification').html('不接受'); $('.warning').fadeIn('slow'); 返回假; } 常量共享数据 = { 标题:标题, 文字:文字, 文件:文件数组, }; if (navigator.canShare && !navigator.canShare(shareData)) { $('.notification').html('不接受'); $('.warning').fadeIn('slow'); 返回假; } navigator.share(shareData); }

除了将share635287463528173875.pdf 显示为附件而不是hello.pdf 之外,效果很好。 不管是.jpg 还是.txt

共享本地输入文件也是如此!

最后我去了官方网络共享API 网站和证实它的例子:

Crome Platform Status

所有链接都显示任意类型的可接受文件类型(.txt.pdf.jpg)的随机文件名,例如share365645756784578.jpg 等。

所以我首先问,有没有可能我是这个世界上唯一一个遇到这个问题的人(这使得这个 API 没用),因为没有人报告这个问题,除了一个没有解决方案的帖子:HERE

这是否与我所在的西班牙有关,这没有任何意义,但我问以防万一,因为我确定这是一个 BUG,因为我发现的所有测试站点都发生了相同的错误(见上文)?

在移动 chrome V96 上测试; Android 11.

如果有人能告诉我这个API 和文件名是怎么回事。 我等了 2 年才让 Google 最终将 .pdf 实现为接受的文件,并且我的客户可以共享发票 pdf 附件,但没办法。

我忘了说,我在我妻子和朋友的手机上尝试了相同的操作,它显示相同的随机文件名。

这是否有任何解决方法,因为显然我尝试过的所有代码都很好。 这个社区对我来说是最后的机会,就像现在,API 没用。

我无法在 Chromium 中破解和编写 java,它应该是价值万亿美元的公司的工作,所以我的意见是,如果 stackoverflow 社区无法提供帮助,没有人能做到,所以我将其报告为错误。

感谢任何帮助或建议。

【问题讨论】:

标签: javascript api share sharing


【解决方案1】:

实际上我的代码是无关紧要的(它有效),因为在所有其他示例中我得到了相同的结果。 这是来自其他网站的simple example,它显示为我的 gmail 附件。

my attachment

有什么合理的评论吗?我找不到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多