【问题标题】:Load all images from folder: winjs uwp app从文件夹加载所有图像:winjs uwp app
【发布时间】:2017-12-03 23:34:43
【问题描述】:

我正在使用 javascript (winJS) 来制作我的 Windows 商店应用程序(UWP 应用程序)。我想从我的应用程序目录中加载所有 svg 图像并将它们显示在 div 中。 我能够使用 ajax 请求来做到这一点。但看起来 ajax 在 winJS UWP 应用程序中不起作用。我像这样使用 jquery 和 ajax 请求:

var fileextension = ".svg";
var classx = "image";
var tr = "true";

var businessDir = "image/business";
$.ajax({
    url: businessDir,
    success: function (data) {
        $(data).find("a:contains(" + fileextension + ")").each(function () {
            var filename = this.href.replace(window.location.host, "").replace("http:///", "");

            $(".myDiv").append($("<img src=" + filename + " class=" + classx + " draggable=" + tr + "></img>"));

        });
    }
});

如何在 winJS UWP 应用程序中从我的“图像/业务”目录加载图像。我也在科尔多瓦 Windows 商店应用程序中尝试过此代码,但也没有用。

【问题讨论】:

    标签: javascript jquery ajax uwp winjs


    【解决方案1】:

    但是看起来 ajax 在 winJS UWP 应用中不起作用

    首先,UWP应用支持ajax,但有几点需要注意,具体请参考this thread。但是,尽管 jQuery.ajax() 可以在 UWP 应用程序中使用,但您不能对本地资源进行 AJAX 调用,因为请求是使用 HTTP 发出的。详情请参考this thread

    如何在 winJS UWP 应用中从我的“图像/业务”目录加载图像

    根据您的场景,您需要从本地目录加载图像,因此您无法使用 AJAX 调用。您可以只使用 UWP 中的文件操作相关 API 来加载图像,例如 Storage​FolderStorageFile 类。更多详情请参考this articlethis official sample。这是一个从 WinJs UWP 应用中的“images/business”目录加载图像的演示,您可以参考:

    function addimage() { 
        var classx = "image";
        var tr = "true";
        var root = Windows.ApplicationModel.Package.current.installedLocation.path;
        var path = root + "\\images\\business";
        var StorageFolder = Windows.Storage.StorageFolder;
        var folderPromise = StorageFolder.getFolderFromPathAsync(path);
        folderPromise.done(function getFolderSuccess(folder) {
            var filesInFolderPromise = folder.getFilesAsync();
            filesInFolderPromise.done(function getFilesSuccess(filesInFolder) {
                filesInFolder.forEach(function forEachFile(item) {             
                    if (item.name.includes("svg")) {
                        var img = document.createElement("img");
                        img.src = "images/business/" + item.name;
                        document.getElementById("myDiv").appendChild(img);
                    }
                });
            });
        });
    }
    

    【讨论】:

    • 非常感谢.. 这是有效的。请在您的代码中将“业务”的拼写更改为“业务”。 ;)
    猜你喜欢
    • 2016-05-28
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    相关资源
    最近更新 更多