2013-09-26 3 views

답변

2

우리의 양식

@form(action = routes.Application.upload, 'enctype -> "multipart/form-data") { 
    <input type="file" name="picture"> 
    <p> 
     <input type="submit"> 
    </p> 
} 

우리의 업로드 작업을

@BodyParser.Of(value = BodyParser.Text.class, maxLength = 10 * 1024) 
public static Result upload() { 
    MultipartFormData body = request().body().asMultipartFormData(); 
    FilePart picture = body.getFile("picture"); 
    if (picture != null) { 
    String fileName = picture.getFilename(); 
    String contentType = picture.getContentType(); 
    File file = picture.getFile(); 
    return ok("File uploaded"); 
    } else { 
    flash("error", "Missing file"); 
    return redirect(routes.Application.index());  
    } 
} 

그냥 변경이 더 원하는 길이로 maxLength = 10 * 1024 (이 그냥 10킬로바이트 주위)에 documentation

에서 찾을 수 있습니다 Ajax를 통해 파일을 보내려면

을 입력하십시오. 이

public static Result upload() { 
    File file = request().body().asRaw().asFile(); 
    return ok("File uploaded"); 
} 

Mutlipart/form-data로 인코딩되지만 단지 게시 일반 콘텐츠 파일을

+0

감사를 포함에서 응답은 ........... 난 이미 이런 짓을하지만 거를 사용 임시 폴더에 저장 ....... 내가 원하는 것은 어떤 대상 폴더에 저장하는 것입니다 ......... –

+0

또한 위의 코드는 더 큰 파일에 대한 12gb ...... 도와주세요 필요한 ........... 만약 내가 playframework에서 자바를 읽을 수있는 링크를 제안한다면 매우 감사 할 것이다. ....... –

+0

만약 내가 올바르게 기억한다면, 디폴트 브라우저는 최대 4Gb를 업로드 할 수 없다. . 그것은 당신이 고려해야 할 것입니다. 그러나 주변을 우회 할 수있는 경우 특정 크기의 파일을 허용하도록 Play 구성을 구성 할 수 있습니다. 나는 나의 대답을 업데이트했다. 다른 목적지로 보내는 것과 관련하여. 당신은 이미 파일이라는 파일을 가지고 있는데, 단지 당신이 그것을 단지 programmaticaly – KyelJmD

관련 문제