2013-08-05 6 views
3

나는 다음과 같은 코드를 사용하여 재생 2.1 reactivemongo 사용하여 첨부 파일 저장하려고으로 GridFS를 사용하여 파일을 저장하려고 "파라미터 readFileReader에 대한 암시 적 가치를 찾을 수 없습니다"오류 : reactivemongo

def upload = Action(parse.multipartFormData) { request => 
    request.body.file("carPicture").map { picture => 
    val filename = picture.filename 
    val contentType = picture.contentType 

    val gridFS = new GridFS(db, "attachments") 
    val fileToSave = DefaultFileToSave(filename, contentType) 

    val futureResult: Future[ReadFile[BSONValue]] = gridFS.writeFromInputStream(fileToSave, new FileInputStream(new File(filename))) 

    Ok(Json.obj("e" -> 0)) 
    }.getOrElse { 
    Redirect(routes.Application.index).flashing(
     "error" -> "Missing file" 
    ) 
    } 
} 

나는를

이 매개 변수 readFileReader에 대한 암시 적 가치를 찾을 수 없습니다 : 다음 오류가 reactivemongo.bson.BSONDocumentReader [reactivemongo.api.gridfs.ReadFile [reactivemongo.bson.BSONValue] [오류] 발 futureResult : 미래 [ReadFile을 [ BSONValue]] = gridFS.writeFromInputStream (fileToSave, 새 FileInputStream (새 파일 (filenam 전자))))

나는 무엇이 누락 되었습니까?

import reactivemongo.api.gridfs.Implicits._ 

다음을 위해 잘 컴파일 :

+0

어떤 버전의 r eactivemongo 당신이 사용하고 있습니까? – EECOLOR

답변

5

당신이 가져 오기를 추가하여 해결할 수있는 범위에서 DefaultReadFileReader 내장 객체를하지 않아도 대부분의 경우

감사합니다,

GA 나 (Play 2.1 reactivemongo 모듈, 버전 0.9 사용) :

package controllers 

import java.io.{ File, FileInputStream } 
import scala.concurrent.ExecutionContext.Implicits.global 
import scala.concurrent.Future 

import play.api._ 
import play.api.mvc._ 
import play.api.libs.json._ 

import reactivemongo.api._ 
import reactivemongo.bson._ 
import reactivemongo.api.gridfs._ 
import reactivemongo.api.gridfs.Implicits._ 

import play.modules.reactivemongo.MongoController 


object Application extends Controller with MongoController { 

    def index = Action { 
    Ok(views.html.index("Hello, world...")) 
    } 

    def upload = Action(parse.multipartFormData) { request => 
    request.body.file("carPicture").map { picture => 
     val filename = picture.filename 
     val contentType = picture.contentType 

     val gridFS = new GridFS(db, "attachments") 
     val fileToSave = DefaultFileToSave(filename, contentType) 

     val futureResult: Future[ReadFile[BSONValue]] = gridFS.writeFromInputStream(fileToSave, new FileInputStream(new File(filename))) 

     Ok(Json.obj("e" -> 0)) 
    }.getOrElse { 
     Redirect(routes.Application.index).flashing(
     "error" -> "Missing file" 
    ) 
    } 
    } 
} 
+0

감사합니다. 내가 함축 된 내용을 추가하자 마자 작동했습니다. –

관련 문제