如何将文件系统中的文件编码为multipart / form-data?

时间:2013-08-06 14:50:25

标签: javascript facebook-graph-api winjs multipartform-data facebook-winjs-sdk

我想让用户在我的图片查看器应用中将照片上传到Facebook。正如本文Facebook Graph API - upload photo using JavaScript所示,我必须将我的照片编码为multipart / form-data才能上传它们。如何在Windows.Storage.StorageFile项目上归档此编码?

1 个答案:

答案 0 :(得分:1)

您需要打开该照片(类型为Windows.Storage.StorageFile)进行阅读,将其流转换为blob,将其附加到FormData对象并使用您想要的任何Ajax库进行上传(WinJS.xhrjQuery.ajax等。

以下代码说明了它比单词更好:

file.openReadAsync().done(function(fileStream) {                
   var fileData = MSApp.createBlobFromRandomAccessStream(file.contentType, fileStream);
   var formData = new FormData();
   formData.append('upload', fileData, file.name);

   ... // send formData as xhr request body
});