2
내 application.conf 파일에 attachments.path 등록 정보를 지정하려고했지만 영향이 없습니다.재생 된 파일 목록을 어떻게 바꿀 수 있습니까? 2.0.1?
재생 2.0.1의 문서에서 업로드 된 파일 디렉토리를 변경하는 방법을 찾지 못했습니다.
내가 누락 된 항목이 있습니까?
내 application.conf 파일에 attachments.path 등록 정보를 지정하려고했지만 영향이 없습니다.재생 된 파일 목록을 어떻게 바꿀 수 있습니까? 2.0.1?
재생 2.0.1의 문서에서 업로드 된 파일 디렉토리를 변경하는 방법을 찾지 못했습니다.
내가 누락 된 항목이 있습니까?
application.conf
에는 이러한 변수가 없지만 쉽게 추가하고 방법으로 사용할 수 있습니다.
새로운 라인 application.conf
에 : 당신이 할 수있는이 방법을 사용
public static Result upload() {
MultipartFormData body = request().body().asMultipartFormData();
MultipartFormData.FilePart picture = body.getFile("picture");
if (picture != null) {
String fileName = picture.getFilename();
String contentType = picture.getContentType();
File file = picture.getFile();
// added lines
String myUploadPath = Play.application().configuration().getString("myUploadPath");
file.renameTo(new File(myUploadPath, fileName));
return ok("file saved as " + myUploadPath + fileName);
} else {
flash("error", "Missing file");
return redirect(routes.Application.uploadform());
}
}
를 또는로 이름을 바꾸기 전에 filename clash
검사를 수행해야합니다
myUploadPath = "/home/your-account/some/custom/upload/folder/"
documentation sample에 따라 당신이 즉, 원하는대로 호출 임의의 덮어 쓰기를 방지합니다.
답변을 주셔서 감사합니다, Marcus,하지만 이것이 내 문제를 해결하지 못했습니다. <그림의 예제>가있는 폴더를 제어해야합니다. 그러나, 나는 목표/시작과 함께 응용 프로그램을 시작하여 문제를 해결 - Djava.io.tmpdir = <내 tmp 폴더 경로> –
오, 당신이 tmp 디렉토리를 제어해야한다고 지정하지 않았다 :) 팁 주셔서 감사하지만, 여전히 샘플을 사용하여 tmp에서 업로드 된 파일을 디스크의 exacto 위치에 저장합니다. – biesior
아니요, 죄송합니다. 잘 지정하지 않았습니다. 하지만 코드가 유용 할 수 있습니다. –