서버 측 삽입물은 CollectionFS API에서 읽은 것부터 Node.js Buffer
객체를 매개 변수로 사용할 수 있습니다.
https://github.com/CollectionFS/Meteor-CollectionFS#getting-started
Buffer
객체는 null
에 encoding
세트 NPM request
패키지에서 얻을 것이다 무엇이며, 이것은 당신이 CollectionFS에 삽입 할 것으로 예상하고 있습니다 것입니다.
encoding
에서 null
으로 설정하지 않으면 원시 이진이므로 응답이 이미지 인코딩을 통과합니다.
https://github.com/meteor/meteor/blob/devel/packages/http/httpcall_server.js#L74
로 : 그것은 NPM request
주위의 래퍼 역할을하며 라인 (74)에서 볼 수 있듯이 특히 UTF-8 인코딩을 강제하기 때문에
은 불행하게도 당신은이 작업을 수행 유성 HTTP 패키지를 사용할 수 없습니다 아마도 서버 측 환경이 Fiber
에 의존하기 때문에 npm 패키지는 Meteor에서 직접 사용할 수 없습니다.
/packages/request/package.js :
Package.describe({
summary:"Simplified HTTP request client",
version:"2.40.0"
});
Npm.depends({
"fibers":"1.0.1",
"request":"2.40.0"
});
Package.onUse(function(api){
//
api.versionsFrom("[email protected]");
//
api.use("underscore","server");
//
api.addFiles("server/lib/request.js","server");
//
api.export("request","server");
});
/packages/request/server/lib/request.js
:
var Future=Npm.require("fibers/future");
request=Npm.require("request");
var requestSync=function(uri,options){
var future=new Future();
request(uri,options,function(error,response,body){
if(error){
console.log(error);
throw error;
}
future.return({
response:response,
body:body
});
});
return future.wait();
};
_.extend(request,{
putSync:function(uri,options){
options.method="PUT";
return requestSync(uri,options);
},
patchSync:function(uri,options){
options.method="PATCH";
return requestSync(uri,options);
},
postSync:function(uri,options){
options.method="POST";
return requestSync(uri,options);
},
headSync:function(uri,options){
options.method="HEAD";
return requestSync(uri,options);
},
delSync:function(uri,options){
options.method="DELETE";
return requestSync(uri,options);
},
getSync:requestSync
});
그런 다음이 같은 요청을 사용할 수 있습니다
그래서 여기
는 아직 출시되지 않은 패키지로, 요청 주위에 필요한 포장입니다
var result=request.getSync(url,{
encoding:null
});
var buffer=result.body;
buffer
변수는 CollectionFS 삽입에 전달해야하는 변경되지 않은 이미지 데이터를 보유합니다.
당신은 절대적으로 놀라운을 얻기 위해 할 수 있습니다. 빠른 응답/응답을 주셔서 감사합니다. – MisutoWolf