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

时间:2019-06-24 14:44:54

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

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

我确定我的文件正在下载,因为我已成功登录控制台并在目录中列出项目时显示文件。

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

下载:

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

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

2 个答案:

答案 0 :(得分:2)

我了解您的问题与如何显示html img 标签中使用tizen.download API下载的图像有关。

我可以看到两种解决方法,可以为您提供帮助:

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

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

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));
          }
        });

答案 1 :(得分:0)

您可以找到合适的Web示例应用程序:新的Tizen项目-示例-Mobile 4.0-Web应用程序-内容-下载管理器

打开index.html,并将https://www.sample-videos.com/video/mkv/720/big_buck_bunny_720p_10mb.mkv替换为您的文件地址。

enter image description here