2016-01-26 43 views
0

我正在尝试处理从我从http://mailin.io/doc收到的电子邮件中的base64编码附件,并将它发送到WebDav服务器。目前,我试图做到以下几点:使用流星中的HTTP.put发送二进制文件到WebDav

HTTP.call('PUT', 'https://path.to.owncloud/remote.php/webdav/mail2webdav/' + currentAttachment, { 
    data: Meteor.call('base64Decode',file), 
    auth: "user:pass" 
    }, function(error, response) { 
    if (error) { 
     console.log(error); 
    } else { 
     console.log(response); 
    } 
    }); 

当我收到来自服务器和WebDAV共享文件apperas一个201回,我无法将其打开。

因为这个要求,我不能确定的是什么,我想做到的是尽可能使用HTTP.put的:https://github.com/meteor/meteor/issues/2450

是否有这样做的一种常见的方式?

回答

0

我解决了这个利用包streamBuffers = Npm.require("stream-buffers");

然后我把数据放入流上传之前它

 var myReadableStreamBuffer = new streamBuffers.ReadableStreamBuffer({ 
 
      frequency: 10, // in milliseconds. 
 
      chunkSize: 2048 // in bytes. 
 
     }); 
 
     
 
     // Parse the base64 encoded attachment to the stream end close the stream 
 
     myReadableStreamBuffer.put(postData[item.fileName], 'base64'); 
 
     myReadableStreamBuffer.stop();