요청 또는 HttpServletRequest 기능을 사용하여 여러 파일을 복사하려고합니다.grails에서 여러 파일 업로드
나는 각 파일에 대한의 MultipartFile 개체에 액세스 한 컨트롤러 액션에서 선택한 모든 파일을 통해 루프 수 있었다- 여기에 액션 코드 :
request.getFileNames().each{
request.getFiles(it).each
{ file ->
// loop through all files selected
println "name: $file.name Originalfilename: $file.originalFilename contentType: $file.contentType"
file.transferTo(new File(userDir, file))
} // eo for loop
} // eo requect.getFiles().each....
내가 그루비 런타임 오류에서 얻을은 transferTo 라인 - 오류 메시지의 존재 :
가 생성자를 일치 찾을 수 없습니다 : java.io.File에 (java.io.File에, org.springframework.web.multipart.commons.CommonsMultipartFile)
transferTo 행을 인쇄 출력 선에 표시하면 루프는 선택한 각 파일에 대한 올바른 MultipartFile 정보를 생성합니다.
는이 개 파일에 대한 출력은 여기에서 선택한 참조 :
이름 : 파일 [] Originalfilename : 대한-sale.gif의 contentType : 이미지/GIF
이름 : [] Originalfilename 파일 : front.gif의 contentType : image/gif
copyTo를 호출하려면 어떻게해야합니까?
잘 작동합니다. 또한'file.originalFilename'을 시도했지만 ** groovy.lang.MissingMethodException ** 오류 및 메시지로 실패했습니다 : 메소드의 서명이 없습니다 : org.springframework.web.multipart.commons.CommonsMultipartFile. originalFilename()은 인수 유형에 적용 할 수 있습니다.() 값 : [] 가능한 해결책 : getOriginalFilename()'. 그러나 위의 인쇄 줄은 originalFilename을 올바르게 표시합니다. 이유는 확실하지 않습니다. – mikek
입력 html 태그에서 설정 한 초기 동작에서 다른 동작으로 전달 된 multipartfile 객체에 대한 요청을 실행할 수 있습니다. 리디렉션 된 동작의 문자열에 액세스 할 수 있습니다. ** form : [email protected]5d79259** 그러나 request.getFiles와 같은 요청 명령을 실행할 수 없습니다. MultipartFile로 캐스팅하려고하면 실패합니다. -mike – mikek
한 컨트롤러에서 다른 컨트롤러로 리디렉션 또는 전달한 후 파일 업로드에 액세스 할 수 있는지 여부를 모르겠습니다. 이는 원래 질문과 다른 질문이며 별도로 게시해야합니다. 또한, 내 대답이 귀하의 첫 번째 질문에 대답한다면 그것은 당신이 그것을 받아 들일 경우 다른 사람들에게 도움이 될 것입니다, 그리고 그것이 좋은 대답 이었으면 upvote도 인정 될 것입니다. 물론 –