[SCALA] 어떻게 플레이에 업로드 된 파일을 제공합니다! 2 스칼라를 사용하고 계십니까?
SCALA어떻게 플레이에 업로드 된 파일을 제공합니다! 2 스칼라를 사용하고 계십니까?
나는 사용자가 서버에 사진을 업로드 한 다음을 볼 수 있도록 노력하고있어. 이 가이드의 설명에 따라 업로드가 발생합니다. 여기에 코드입니다 :
def upload = Action(parse.multipartFormData) { request =>
request.body.file("picture").map { picture =>
import java.io.File
val filename = picture.filename
val contentType = picture.contentType
picture.ref.moveTo(new File("/tmp/picture"))
Ok("File uploaded")
}.getOrElse {
Redirect(routes.Application.index).flashing(
"error" -> "Missing file"
)
}
}
업로드 된 이미지를보고 싶은 사용자에게 다시 제공하는 방법을 나에게 명확하지 않다. 드라이브, 인터넷에서 사용할 수 없습니다 (이 아니어야합니다) : 가이드의 코드 내 D에 파일을 기록, 그래서 지금은 내 자신의 컴퓨터에 서버를 호스팅하고 있습니다. 최대한 멀리 볼 수있는 두 가지 옵션이 있습니다 :
1의 경우, 그 자산의 목적입니다 있는지 확실하지 않습니다. 2, 나는 어떻게 이런 컨트롤러를 작성하는 아무 생각이 없습니다.
해결법
-
==============================
1.2.0.3 (MIS)은 이것을 위해 사용될 수있는 외부 자산 컨트롤러 기능을한다. 이러한 컨트롤러를 작성하면 업로드 한 모든 동영상을 저장할 폴더를 미리 정의했다,하지만 마법 없다, 당신은에서 읽을의 그. 데이터베이스에서 당신은 (독특한) 파일 이름을 저장합니다.
2.0.3 (MIS)은 이것을 위해 사용될 수있는 외부 자산 컨트롤러 기능을한다. 이러한 컨트롤러를 작성하면 업로드 한 모든 동영상을 저장할 폴더를 미리 정의했다,하지만 마법 없다, 당신은에서 읽을의 그. 데이터베이스에서 당신은 (독특한) 파일 이름을 저장합니다.
다른 방법은 데이터베이스에 업로드 된 파일을 저장하는 것입니다. 우리는 MongoDB의에서 GridFS이 작업을 수행. 사용자 정의 컨트롤러는 사용자에게 다시 제공합니다. 데이터는 백업 및 복구 간단하게 하나 개의 중앙 위치에 저장됩니다 이런 식으로.
-
==============================
2.간단한 예는
간단한 예는
def index = Action { Ok.sendFile(new java.io.File("/tmp/fileToServe.pdf")) }
파일을 제공하는 방법에 대해 설명합니다 https://www.playframework.com/documentation/2.4.x/ScalaStream#Serving-files에서 "파일 봉사"섹션이있다
-
==============================
3.이 같은 새로운 경로를 추가 할 수 있습니다 :
이 같은 새로운 경로를 추가 할 수 있습니다 :
GET /myFiles/*file controllers.Assets.at(path="/tmp", file)
from https://stackoverflow.com/questions/11451246/how-to-serve-uploaded-files-in-play2-using-scala by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 스칼라의 크로스 제품 (0) | 2019.11.16 |
---|---|
[SCALA] 점화 / 스칼라 여러 열에서 동일한 기능을 사용 withColumn ()에 호출을 반복 (0) | 2019.11.16 |
[SCALA] 우리가 인수를 필요로하지 않는 함수를 정의 할 괄호를 사용할 수 없습니다 경우 왜 스칼라에 빈 괄호를 사용 하는가? (0) | 2019.11.16 |
[SCALA] 어떻게 스칼라 매크로 메소드 호출에서 명명 된 매개 변수를 모델링하려면? (0) | 2019.11.16 |
[SCALA] 어떻게 스칼라에서 피타고라스 정리를 작성합니까? (0) | 2019.11.16 |