08.文件操作Files

文件操作Files

1.創(chuàng)建一個Parse.File

Parse.File讓您可將應(yīng)用程序文件存儲在云中扣墩,否則對一般的Parse.Object來說會太大或太繁瑣。最常見的用例是存儲圖像对蒲,但也可以將其用于文檔、視頻毛雇、音樂和任何其他二進(jìn)制數(shù)據(jù)(最多10M)莫其。

使用Parse.File很簡單。有幾種方法來創(chuàng)建文件粗截。第一個是使用base64編碼的String。

var base64 = "V29ya2luZyBhdCBQYXJzZSBpcyBncmVhdCE=";
var file = new Parse.File("myfile.txt", { base64: base64 });

或者捣炬,您可以從字節(jié)數(shù)組創(chuàng)建一個文件:

var bytes = [ 0xBE, 0xEF, 0xCA, 0xFE ];
var file = new Parse.File("myfile.txt", bytes);

Parse將根據(jù)文件擴(kuò)展名自動檢測您上傳的文件類型熊昌,但也可以在第三個參數(shù)中指定Content-Type:

var file = new Parse.File("myfile.zzz", fileData, "image/png");

但是在HTML5應(yīng)用中最常見的,是使用帶有文件上傳控件的html表單湿酸。在現(xiàn)代瀏覽器上婿屹,這很簡單。創(chuàng)建一個文件輸入標(biāo)簽推溃,允許用戶從本地驅(qū)動器中選擇一個文件進(jìn)行上傳:

<input type="file" id="profilePhotoFileUpload">

然后昂利,在點(diǎn)擊處理程序或其他函數(shù)中,獲取對該文件的引用:

var fileUploadControl = $("#profilePhotoFileUpload")[0];
if (fileUploadControl.files.length > 0) {
  var file = fileUploadControl.files[0];
  var name = "photo.jpg";

  var parseFile = new Parse.File(name, file);
}

請注意铁坎,在這個例子中蜂奸,我們給文件命名為photo.jpg。這里需要注意兩點(diǎn):

  • 您不需要擔(dān)心文件名沖突硬萍。每次上傳都會獲得唯一的標(biāo)識符扩所,因此上傳多個名為photo.jpg的文件沒有任何問題。
  • 您必須在文件命名時指定一個文件擴(kuò)展名朴乖。這使得Parse可以根據(jù)文件類型做相應(yīng)的處理祖屏。因此助赞,如果您正在存儲PNG圖像,請確保您的文件名以.png為后綴袁勺。

接下來雹食,您將把文件保存到云端。與Parse.Object一樣期丰,您可以使用save方法的許多變體群叶,具體取決于什么樣的回調(diào)和錯誤處理適合您。

parseFile.save().then(function() {
  // The file has been saved to Parse.
}, function(error) {
  // The file either could not be read, or could not be saved to Parse.
});

最后咐汞,保存完成后盖呼,可以把Parse.File關(guān)聯(lián)到一個Parse.Object,就像關(guān)聯(lián)任何數(shù)據(jù)塊一樣:

var jobApplication = new Parse.Object("JobApplication");
jobApplication.set("applicantName", "Joe Smith");
jobApplication.set("applicantResumeFile", parseFile);
jobApplication.save();

2.檢索文件內(nèi)容

如何最優(yōu)地檢索文件內(nèi)容取決于您應(yīng)用程序的上下文化撕。由于跨域請求問題几晤,最好是讓瀏覽器為您完成此工作。通常植阴,這意味著將文件的URL渲染到DOM中蟹瘾。在這里,我們使用jQuery在頁面上渲染上傳的個人資料照片:

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

如果要在Cloud Code中處理文件數(shù)據(jù)掠手,可以使用我們的http網(wǎng)絡(luò)庫檢索文件:

Parse.Cloud.httpRequest({ url: profilePhoto.url() }).then(function(response) {
  // The file contents are in response.buffer.
});

您可以使用REST API刪除對象引用的文件憾朴。您需要提供主密鑰才能允許刪除文件。

如果您應(yīng)用程序中的任何對象都未引用您的文件喷鸽,則無法通過REST API刪除它們众雷。您可以在應(yīng)用的“設(shè)置”頁面中請求清除未使用的文件。請記住做祝,這樣做可能會對那些依賴于通過其URL屬性訪問未被引用的文件的功能造成破壞砾省。但是當(dāng)前已經(jīng)與對象關(guān)聯(lián)的文件不會受到影響。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末混槐,一起剝皮案震驚了整個濱河市编兄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌声登,老刑警劉巖狠鸳,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異悯嗓,居然都是意外死亡件舵,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門脯厨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芦圾,“玉大人,你說我怎么就攤上這事俄认「錾伲” “怎么了洪乍?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夜焦。 經(jīng)常有香客問我壳澳,道長,這世上最難降的妖魔是什么茫经? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任巷波,我火速辦了婚禮,結(jié)果婚禮上卸伞,老公的妹妹穿的比我還像新娘抹镊。我一直安慰自己,他們只是感情好荤傲,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布垮耳。 她就那樣靜靜地躺著,像睡著了一般遂黍。 火紅的嫁衣襯著肌膚如雪终佛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天雾家,我揣著相機(jī)與錄音铃彰,去河邊找鬼。 笑死芯咧,一個胖子當(dāng)著我的面吹牛牙捉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播敬飒,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼邪铲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了驶拱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤晶衷,失蹤者是張志新(化名)和其女友劉穎蓝纲,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晌纫,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡税迷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了锹漱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片箭养。...
    茶點(diǎn)故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哥牍,靈堂內(nèi)的尸體忽然破棺而出毕泌,到底是詐尸還是另有隱情喝检,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布撼泛,位于F島的核電站挠说,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏愿题。R本人自食惡果不足惜损俭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潘酗。 院中可真熱鬧杆兵,春花似錦、人聲如沸仔夺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽囚灼。三九已至骆膝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灶体,已是汗流浹背阅签。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝎抽,地道東北人政钟。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像樟结,于是被迫代替她去往敵國和親养交。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理瓢宦,服務(wù)發(fā)現(xiàn)碎连,斷路器,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,796評論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法驮履,類相關(guān)的語法鱼辙,內(nèi)部類的語法,繼承相關(guān)的語法玫镐,異常的語法倒戏,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 坐在長途大巴上,密閉的空間充斥著此起彼伏的小孩的尖叫聲恐似,檳榔味和附著的衣服上的煙味杜跷。 好好一個周末,我一大清早就趕...
    坑蒙拐騙七月半閱讀 239評論 0 4
  • 回顧孩子的成長之路。在孩子小的時候葛闷,很聽話憋槐,你說不能干的事情,他們就不會去做孵运,你說應(yīng)該努力去做的事情秦陋,他們也...
    可樂開心閱讀 208評論 2 2