2016-10-31 2 views
0

엠버 앱에 내 사용자의 업로드 파일을 모두 보관하기 위해 public/uploads/... 폴더가 있습니다. 여기에는 앱에서 iframe을 통해 게재하고 싶은 이미지, 동영상 및 일부 .html 파일이 포함됩니다.개발 중 Ember 앱의 iframe 콘텐츠 게재

내가 구성 요소에 이러한 iframe을 제공하기 위해 노력하고있어 :

<iframe src="/public/uploads/folder/file.html"> 

개발은 아마도 file.html에 대한 요청을 수신하고 자산과 반대로 정상적인 GET 요청처럼 보이는 라우터를 확인하고 있습니다 제공 . 이 올바르게 오류로 날 나뭇잎 : 나는 특정 폴더를 제공 할 ember-cli dev에 서버를 알 수있는 방법이

Uncaught UnrecognizedURLError

있습니까?

+0

ember-cli-mirage를 사용하고 있습니까? 그렇다면 다음을 추가해야합니다 : 'this.passthrough ('/ public/uploads/folder/**'); ' to mirage/config.js –

+0

고마워요. 나는 실제로 그것을 시도했지만 작동하지 않습니다. 내가 말할 수있는 한, 라우터가 페이지 요청으로 인식하고 내 경로에서 라우터를 찾지 못해서이 요청이 미라지가되지 않습니다. –

답변

2

public 폴더 외부에 업로드하는 것이 가장 좋습니다. 별도의 uploads 폴더에 있습니다.

명령을 실행, 특정 폴더를 제공하기 위해 dev에 서버를 알려줄 수 :

ember g server 

이것은 당신이 다음 사용자 정의 할 수있는 server/index.js를 생성합니다.

내 보낸 함수 내에서 다음 줄을 추가합니다 :

var express = require('express'); 
app.use('/uploads', express.static(__dirname + "/../uploads")); 

마지막으로는, 명시 적 종속성을 설치 당신이 이미 그것을 사용하지 않는 경우 :

npm install express --save-dev 

을 이제, 엠버 dev에 서버를 시작한 후 uploads 폴더의 모든 파일을 제공 할 수 있습니다.

+1

완벽하게 작동합니다. 그래도 정확히 무슨 일이 일어나고있는거야? 내가 말할 수있는 것부터'server/index.js'는'ember-cli' 개발 서버를 커스터마이징 할 수있게 해주고'/ upload/... '요청을 볼 때 express를 사용하도록 말하고 있습니다. –