javascript - 如何使用 Tizen Web studio 在我的应用程序中使用下载的 svg 文件?

标签 javascript tizen tizen-web-app tizen-wearable-sdk

我可以下载 SVG 文件,此外,我可以像通常在图像标签中一样显示 svg 文件。我不知道如何访问下载文件夹位置或 wgt-private 文件夹,因此我可以将图像下载到客户的 watch 上,然后使用下载的版本。

我确信我的文件正在下载,因为我已经成功下载了控制台登录,并且当我列出目录中的项目时,文件会显示出来。

放置 downloads/[filename] 或 wgt-private/[filename] 似乎不起作用,因为这些是虚拟文件位置,但我不知道如何在不使用文件系统方法的情况下在应用程序中访问这些文件。

下载:

var download_obj = new tizen.DownloadRequest('someFile.svg', 'wgt-private');//Hidden the actual location however this file does display when enterting the whole file location

    tizen.download.start(download_obj, {
          onprogress: function(id, receivedSize, totalSize) {
            console.log(id);
            console.log(receivedSize);
            console.log(totalSize);
          },
          onpaused: function(id) {
            console.log(id);
          },
          oncanceled: function(id) {
            console.log(id);
          },
          oncompleted: function(id, fullPath) {
            console.log(id);
            console.log(fullPath);
          },
          onfailed: function(id, error) {
            console.log(id);
            console.log(JSON.stringify(error));
          }
        });

完整路径为:wgt-private/someFile.svg

在所有尝试中都不会显示为在控制台中显示文件错误。

最佳答案

我了解您的问题涉及如何在 html img 标记中显示使用 tizen.download API 下载的图像。

我可以看到两种可以帮助您解决问题的解决方法:

  1. 您可以使用文件系统 API(您希望避免使用),但从 5.0 开始,有一种方法不需要额外的权限,我希望它能够满足您的需求 - FileSystemManager.toURI() 。它只是获取文件路径(由下载 API 返回)并返回完整的 URI,可以在 img 中使用。
  2. 我注意到下载到设备上的非公共(public)目录时,下载 API 返回使用虚拟根的“隐藏”路径,但是当作为“下载”下载到公共(public)目录时,会返回完整路径并且适用于 < em>img 也是如此。

如果以上两种方式都不适合您,恐怕唯一的选择是使用常规 tizen.filesystem API 并解析下载 API 的路径,然后使用 File.toURI()函数获取路径。

var link = "http://techslides.com/demos/samples/sample.jpg"
var download_obj = new tizen.DownloadRequest(link, 'wgt-private');//Hidden the actual location however this file does display when enterting the whole file location

    tizen.download.start(download_obj, {
          oncompleted: function(id, fullPath) {
            console.log("completed " + id + " : " + fullPath);
            tizen.filesystem.resolve(fullPath, (s)=>{console.log("Resovled full path: " + s.toURI())}, (e) => {console.log(e)})
          },
          onfailed: function(id, error) {
            console.log("failed " + id);
            console.log(JSON.stringify(error));
          }
        });

关于javascript - 如何使用 Tizen Web studio 在我的应用程序中使用下载的 svg 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56739035/

相关文章:

Tizen Web SDK : How to remotely debug (web inspector) web app running on watch (Galaxy)?

javascript - Material UI - 如何从工具提示中完全删除背景\颜色

javascript - 当我在本地主机中删除谷歌分析时,如何忽略整个站点的 ga() 事件跟踪代码?

javascript - Indy TIdHTTPServer OnCommandGet html 中的 javascript 未执行

javascript - Tizen 中的 Java 脚本警报

android - 如何在 tizen 可穿戴网络应用程序中获取作者证书的公钥?

tizen - Tizen Web和 native 应用程序之间的性能差异是什么

javascript - "Trickle-down"自定义JavaScript事件

ios - SmartView SDK Samsung/Tizen - 内部服务器错误 500

c - Tizen nativ 可穿戴开发错误找不到二进制文件(/Users/yvonne/CeBIT/CeBIT/Debug/cebit)