1

我正在寻找有关如何使用 javascript 从我的 Parse 数据库中以 HTML 格式显示图像的答案。阅读 parse.com 上的文档证明帮助不大。

我存储图像的类称为“内容”。图像作为文件存储在名为“图像”的列中。

4

3 回答 3

5

解析 JavaScript 指南

如何最好地检索文件内容取决于您的应用程序的上下文。由于跨域请求问题,最好让浏览器为您完成工作。通常,这意味着将文件的 URL 渲染到 DOM 中。在这里,我们使用 jQuery 在页面上渲染上传的个人资料照片:

var profilePhoto = profile.get("photoFile");
$("profileImg")[0].src = profilePhoto.url();

所以你的步骤可能是这样的:

  1. 查询包含所需图片的行的内容类
  2. 获取图片的网址
  3. 设置图像元素的来源

下面的一些示例代码:

    // Query the content class for rows where the image exists
    var Content = Parse.Object.extend("content");
    var query = new Parse.Query(Content);
    query.exists("image");
    query.find({
      success: function(results) {
        // If the query is successful, store each image URL in an array of image URL's
        imageURLs = [];
        for (var i = 0; i < results.length; i++) { 
          var object = results[i];
          imageURLs.push(object.get('image'));
        }
        // If the imageURLs array has items in it, set the src of an IMG element to the first URL in the array
        if(imageURLs.length > 0){
          $('#color').attr('src', imageURLs[0]);
        }
      },
      error: function(error) {
        // If the query is unsuccessful, report any errors
        alert("Error: " + error.code + " " + error.message);
      }
    });
于 2013-08-31T23:40:56.753 回答
1

基于上面接受的答案。这是一个将多个图像拉回页面的示例。

var GlobalBadges = Parse.Object.extend("GBadges");
    var query = new Parse.Query(GlobalBadges);
    query.exists("Global_Badge_Name");
    query.find({
      success: function(results) {
        // If the query is successful, store each image URL in an array of image URL's
        imageURLs = [];
        for (var i = 0; i < results.length; i++) { 
          var object = results[i];
          imageURLs.push(object.get('Global_Badge_Name'));
        }
        // If the imageURLs array has items in it, set the src of an IMG element to the first URL in the array
        for(var j = 0; j < imageURLs.length; j++){
            $('#imgs').append("<img src='" + imageURLs[j] + "'/>");                 
        }
      },
      error: function(error) {
        // If the query is unsuccessful, report any errors
        alert("Error: " + error.code + " " + error.message);
      }
    });

 </script>

<div id="imgs"> </div>
</body>
</html>

这个例子表明你必须拉出多个图像并在一个 div 中定义它们。

var GlobalBadges = Parse.Object.extend("GBadges");
    var query = new Parse.Query(GlobalBadges);
    query.exists("Global_Badge_Name");
    query.find({
      success: function(results) {
        // If the query is successful, store each image URL in an array of image URL's
        imageURLs = [];
        for (var i = 0; i < results.length; i++) { 
          var object = results[i];
          imageURLs.push(object.get('Global_Badge_Name'));
        }

        $('#Image01').attr('src',imageURLs[0]); //first image
        $('#Image02').attr('src',imageURLs[1]); //second image
        $('#Image03').attr('src',imageURLs[2]); //third image
      },
      error: function(error) {
        // If the query is unsuccessful, report any errors
        alert("Error: " + error.code + " " + error.message);
      }
    });
于 2014-02-26T16:23:15.377 回答
0

我遇到了同样的问题,但我决定将图像上传到他们的服务器并将图像 url 存储在数据库中。希望有帮助。

于 2013-09-01T03:02:52.580 回答