簡體   English   中英

如何使用JavaScript API從Parse獲取上傳的圖片

[英]How to get uploaded images from Parse using javascript API

問題:

我有上載文件的網址(例如http://files.parse.com/../../..jpg ),它是fileName,現在需要從該網址(Parse.com)中檢索相應的文件)(僅通過Javascript使用)。 任何人都有答案讓我知道。 非常感謝你!

代碼:(上傳):

function uploadFn(fileName,fileType,fileData,c){ 
        var parseUrl='https://api.parse.com/1/files/'+fileName; 
$.ajax({
        type:'post',
        beforeSend:function(req){
                req.setRequestHeader('X-Parse-Application-Id',myParseAppId);
                req.setRequestHeader('X-Parse-REST-API-Key',myParseRestApiId);
                req.setRequestHeader('Content-Type',fileType); // fileType always == 'image/jpg;'
            },
        url:parseUrl,
        data:fileData,
        processData:false,
        contentType:false,
        success:function(rslt){
            if(rslt){
            alert('Upload success\n Filename:'+rslt.name+'\n Url:'+rslt.url);
                    imgObj.save({curUser:curUser,fileName:rslt.name,fileUrl:rslt.url,fileId:c},
                                {success:function(succ){
                                    alert('File info saved!');
                                    },error:function(err){ 
                                        alert('Error:'+err.code);
                                        }
                                }) // save


                }
            },
        error:function(err){
                //var errObj=jQuery.parseJSON(err);
                alert('Error:'+err.responseText);
            }
    });
  }

上傳不是問題。 工作正常! 僅用於從Parse.com檢索

(toRetrieve)[我嘗試過:]

function fetchImg(url){
  $.ajax({
   url:url,
   async:false,
   type:'POST',
   beforeSend:function(req){
        req.setRequestHeader('X-Parse-Application-Id',myParseAppId);
        req.setRequestHeader('X-Parse-REST-API-Key',myParseRestApiId);
        req.setRequestHeader('Content-Type','image/jpg');
    },
   complete:function(rslt){
        $('#imgId').attr('src','data:image/jpg;base64,'+rslt.responseText);
    },
   success:function(){//Success
    },
   error:function(err){
        alert('Error: '+err.responseText+'\nStatus: '+err.statusText);
    }
   })
  }

[輸出:]

'Error-msg>此資源不允許使用指定的方法'狀態:方法不允許!。

注意: ¤(我將fileName,fileUrl保存到Parse DataBrowser中,並用它來嘗試檢索上載的文件。)

¤(應用程序基於“ Phonegap”)

¤不熟悉解析/ Javascript。

非常感謝! *

在這里檢查: 將圖像內容從相機加載到文件中

基本上: 與這篇文章中的信息 非常感謝Raymond Camden!

function gotPic(data) {

window.resolveLocalFileSystemURI(data, function(entry) {

var reader = new FileReader();

reader.onloadend = function(evt) {
    var byteArray = new Uint8Array(evt.target.result);
    var output = new Array( byteArray.length );
    var i = 0;
    var n = output.length;
    while( i < n ) {
        output[i] = byteArray[i];
        i++;
    }                
    var parseFile = new Parse.File("mypic.jpg", output);

    parseFile.save().then(function(ob) {
            navigator.notification.alert("Got it!", null);
            console.log(JSON.stringify(ob));
        }, function(error) {
            console.log("Error");
            console.log(error);
        });

}

reader.onerror = function(evt) {
      console.log('read error');
      console.log(JSON.stringify(evt));
  }

entry.file(function(s) {
    reader.readAsArrayBuffer(s);
}, function(e) {
    console.log('ee');
});

});
}

我認為對於您的ajax請求,檢索圖像方法應該是GET而不是POST。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM