2013-09-26 4 views
1

질소 장치 응용 프로그램에서 파일 다운로드 기능을 제공해야합니다.Erlang 질소 파일 다운로드

wf:header("Content-Disposition", "attachment; filename=\"" ++ Filename ++ "\""), 

을하지만 지금 내 파일의 데이터 블록을 전송하는 질소 API에서 함수를 찾을 수 없습니다 :

는 원칙적으로 나는이 같은 헤더를 설정해야합니다.

파일 크기가 매우 클 수 있으며 그 외에도 파일을 로컬 저장소에서 사용할 수 없지만 이진 데이터는 다른 모듈에서 가져올 수 있으므로 업로드해야합니다. 그래서 실제로는 http 스트림에 데이터 블록을 보내어 스스로 처리해야합니다.

어떤 아이디어, 또는 어떻게 그 일을하는 방법, 어떤 API 함수를 사용할 수 있습니까? 나는 당신을 줄 수

답변

1

가장 좋은 대답은 질소 메일 링리스트에 하나의 I answered 며칠 전입니다 :이 처리 할 수있는 좋은 방법이 없습니다

. 이 처리하는 방법에는 두 가지가 있습니다

1) 같은 대상에 카우보이 특정 파견 테이블에게 카우보이 핸들러 모듈을 을 만드는 등의 기본 서버의 스트리밍 메커니즘을 (사용하는 스트리밍과 거래), 또는 딸기 종 outfile.

2) 카우보이를 사용하는 경우 카우보이를 사용하는 경우 simple_bridge에서 작동 할 수있는 해킹이 있습니다. 모듈의 main() 함수가 이면 튜플을 반환합니다. {stream, StreamFun} 여기서 StreamFun은 이고 전송률은 fun(Socket, Transport) - 전송은 목장 전송입니다. 실제로 이것은 단축키 일 수 있습니다. Transport : send (소켓)를 사용하여 데이터를 보냅니다. 나는 전에 을 해본 적이 없다는 것을 인정할 것이다. 그러나 약간의 땜질과 함께 작동해야한다.

simple_bridge와 Nitrogen에 실제 옵션으로 추가하면 은 아마도 가치가 있습니다.

+0

예, 저는 simple_bridge를 사용했으며 매우 잘 작동합니다. – Luman75