2014-01-24 3 views
0

https://github.com/davebryson/meteor_file_upload_example나는 철 라우터 대신 라우터를 사용하여이 코드를 변환 할 수있는 방법

위 Meteor.router

를 사용하여 원래의 코드이며, 난 단지 철 - 라우터를 사용하는 대신이 코드를 변환하고 싶어 이전 라우터 패키지

하지만 난 파일을 업로드 할 때 문제가,

내가 철 라우터 API를 사용하여 이러한 코드를 변환하는 방법을 이해할 수 없습니다.

index.html 및 serverside main.js 코드에 문제가 있다고 생각하지만 해결할 수 없습니다.

철제 라우터 plz를 사용하여 아래 코드를 변환 하시겠습니까?

(원본 코드의 서버 측 main.js)

Meteor.Router.configure(
{ 
    bodyParser: 
    { 
     uploadDir: 'uploads', 
     hash: 'sha1', 
     keepExtensions : true 
    } 
} 
); 



Meteor.Router.add('/upload/file', 'POST', 
function() 
{ 
    var title = this.request.body.fileTitle, 
    size = this.request.files.fileInfo.size, 
    path = this.request.files.fileInfo.path, 
    name = this.request.files.fileInfo.name, 
    obj = {title: title, size: size, path: path, name: name}; 

    Files.insert(obj); 
    // redirect to root 
    return [301, {Location: '/'}, ""] 
} 
); 

Router.map(function() { 
    this.route('listFiles', {path: '/'}); 
    this.route('addFile', {path: '/add'}); 
}); 


Template.listFiles.helpers({ 
    list: function() { 
    return Files.find({}); 
    } 
}); 

Template.listFiles.events({ 
    'click #addFileBtn' : function(e) { 
    e.preventDefault(); 
    Router.go('/add'); 
    } 
}); 

Template.addFile.events({ 

    'click #cancelBtn': function(e){ 
    e.preventDefault(); 
    Router.go('/'); 
    } 

}); 

Meteor.subscribe("files"); 

요점은 내가 철 - 라우터와 서버 측 코드에서 HTTP 메서드를 사용하는 방법을 처리 할 수 ​​있다는 것입니다 아래 i'v 이미 같은 클라이언트 측 main.js의 코드를 변환

답변

0

Meteor는 패키지 (표준 Connect 핸들러)를 사용하여 미들웨어를 서버에 직접 연결할 수 있습니다.

webapp을 내 앱의 .meteor/packages에 넣으세요. 그런 다음 미들웨어를 앱 내부의 WebApp.connectHandlers에 연결할 수 있습니다. 아직 잘 문서화되어 있지는 않지만 일반적인 연결 서버로 취급하십시오.

+0

감사합니다. 나중에 다시 볼 수는 있지만 어쨌든 좋은 하루 보내세요. – user3226153