httpRequest不会加载图像parse.com

时间:2014-07-16 15:08:36

标签: parse-platform

这是我原来的云代码功能来调整照片大小,如果照片尺寸小于1 MB,它可以很好地处理小尺寸的照片。这个函数返回错误,没有调用成功/错误。我花了我的有更多的时间来研究这个函数并使这个函数更简单,请参阅我的下一个注释以获得更简单的函数...

Parse.Cloud.define("mediaPhotoResize", function(request, response) {
    Parse.Cloud.useMasterKey();
    var parseMediaId = request.params.objectId;
    var Image = require("parse-image");
    var photoUrl = request.params.photoUrl;
        Parse.Cloud.httpRequest({
            url: photoUrl

        }).then(function(responseHTTP) {
            var image = new Image();
            return image.setData(responseHTTP.buffer);

        }).then(function(image) {
            return image.scale({
                ratio: 0.05
            });

        }).then(function(image) {
            return image.setFormat("JPEG");

        }).then(function(image) {
            return image.data();

        }).then(function(buffer) {
            var base64 = buffer.toString("base64");
            var cropped = new Parse.File('thumbnail_photo.jpg', {base64: base64});
            return cropped.save();

        }).then(function(cropped) {
            var ParseMedia = Parse.Object.extend("ParseMedia");
            var mediaQuery = new Parse.Query(ParseMedia);
            mediaQuery.get(parseMediaId, {
                success: function(mediaObj) {
                    var fileObj = {};
                    fileObj["name"] = cropped.name();
                    fileObj["url"] = cropped.url();
                    fileObj["__type"] = "File";
                    mediaObj.set("mediaThumbnail", fileObj);
                    mediaObj.save(null, {
                        success: function(mediaObj) {
                            response.success(mediaObj);
                        }, error: function(error) {
                            response.error(error);
                        }
                    });
                }, error: function(error) {
                    response.error(error);
                }
            });
        });
});

比我让我的功能更简单,检查Cloud.Code.httpRequest请求,这是否能及时回应我而且我发现这会给我一个错误"执行超时"只有大图像。请检查我修改过的云代码功能

    Parse.Cloud.define("parseImageTest", function(request, response) {
var Image = require("parse-image"); 
Parse.Cloud.httpRequest({ 
  url: "http://files.parsetfss.com/a7b7ddfe-bcd9-4046-be12-5b155005b5e3/tfss-027f8804-9e51-4f80-ba3d-dbb3948bb80c-parse-media-photo.jpg", 
  success: function(responsehttp) { 
    // The file contents are in response.buffer. 
    var image = new Image(); 
    return image.setData(responsehttp.buffer, { 
      success: function() { 
        response.success("Image is " + image.width() + "x" + image.height() + "."); 
    }, 
    error: function(error) { 
      response.error(error);
    } 
   })}, 
   error: function(error) { response.error(error); } 
});
});

0 个答案:

没有答案