如何使用javascript将图像从网站保存到parse.com后端?

时间:2015-12-17 06:50:05

标签: javascript parse-platform

我非常了解javascript。我有一个使用parse.com云的iOS应用程序。现在版主需要一个网站平台将数据上传到移动应用程序旁边的parse.com云。我已经设置了解析,当我想在表格中添加一行时,一切正常。但是,当我想以这种方式将图像添加到云中时:

$("#post-form").submit(function(event){

    console.log("submit");
    event.preventDefault();

    var Event = Parse.Object.extend("Event");
    var newEvent = new Event();

    //Get form info
    var currUser = Parse.User.current();
    var eventName = $("#name").val();

    newEvent.set("name",eventName);
    newEvent.set("user",currUser);

    //Get file from form
    var fileElement = $("#post-file")[0];
    var filePath = $("#post-file").val();
    var fileName = filePath.split("\\").pop();
    alert("HERE 1111");
    if(fileElement.files.length > 0){
        alert("HERE 2222");
        var file = fileElement.files[0];
        var newFile = new Parse.File(fileName, file);
        newFile.save({
            success: function() { console.log("success11111");}, 
            error : function(error){ console.log("file save error== "+error.message);}

        }).then(function(theFile){

            newEvent.set("file",theFile);
            newEvent.save(
            {
                success: function(){ console.log("succes222s");}, 
                error : function(error){ console.log("Post file save error= "+error.message);}
            });
        });

    }
    else
    {
        newEvent.save(
        {
            success: function(){ console.log("success33333");}, 
            error : function(error){ console.log("error= "+error.message);}
        });
    }
});

如果没有选择图像,它可以正常工作并向表中添加一行但是当我选择图像时,我收到以下错误:

submit
parse-1.6.11.min.js:15 OPTIONS https://api.parse.com/1/1/files/Screen%20Shot%202015-12-16%20at%209.54.30%20am.png 
c @ parse-1.6.11.min.js:15y.ajax @ parse-
1.6.11.min.js:15u.default.setFileController.saveFile @ parse-1.6.11.min.js:13a.value @ parse-1.6.11.min.js:13(anonymous function) @ 
create.html:183f.event.dispatch @ jquery.min.js:3h.handle.i @ jquery.min.js:3
        create.html:1 XMLHttpRequest cannot load 
    https://api.parse.com/1/1/files/Screen%20Shot%202015-12-16%20at%209.54.30%20am.png. Response to preflight request doesn't pass access 
    control check: No 'Access-Control-Allow-Origin' header is present on the requested 
    resource. Origin 'http://mywebsitename.com' is therefore not allowed access. The 
    response had HTTP status code 404.

感谢所有人都能给我一个简单的解决方案,因为我只知道将文件上传到云端的基本知识。

我遵循了这个教程: Parse File Upload

这个解决方案:

SO

但他们没有为我工作。

1 个答案:

答案 0 :(得分:0)

也许您正在创建跨源HTTP请求,但目标服务器无法启用“访问控制 - 允许 - 来源”#39;标志。

有关详细信息,请查看此处:How does Access-Control-Allow-Origin header work?