I want to let users upload photos to Facebook in my image viewer app. As seen in this post, Facebook Graph API - upload photo using JavaScript, I have to encode my photos as multipart/form-data to be able to upload them. How to archive this encoding on Windows.Storage.StorageFile items?

有帮助吗?

解决方案

You need to open that photo (of type Windows.Storage.StorageFile) for reading, convert it's stream to blob, append it to FormData object and upload using whatever Ajax library you want (WinJS.xhr, jQuery.ajax etc).

Following code illustrates it better than words:

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
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top