이 내가 여기 달성하기 위해 노력했다의 후속이다 https://stackoverflow.com/questions/7313922/uploading-files-ussing-myfaces-tomahawk-jsf-2-0자바 - 내 C 드라이브에 업로드 된 이미지를 저장하려면 어떻게
나는UploadedFile
객체로 이미지를 얻을 수 있었다, 그러나 나는 한
그것을 디스크에 저장할 수없는 것처럼 보입니다. 내 응용 프로그램을 실행할 때 내 바탕 화면에서 파일 (예 : test.jpg
)을 업로드하고 서버에 저장된 내용 (예 : C:\Temp
)을 로컬에서 저장할 수 있도록 로컬로 저장하려고합니다 (예 : C:\Temp
).
내 콩은 매우 간단하다 :
import org.apache.myfaces.custom.fileupload.UploadedFile;
public class PatientBB {
private UploadedFile uploadedFile;
public UploadedFile getUploadedFile(){
return this.uploadedFile;
}
.
public void setUploadedFile(UploadedFile uploadedFile){
this.uploadedFile = uploadedFile;
}
.
public String actionSubmitImage(){
//This is th part I need help with. how do I save it in my C?
}
나는 크게 모든 도움을 주셔서 감사합니다, 감사합니다!
감사합니다. 나는 적당한 temp 폴더에 파일을 가지고있다. 그래서 지금까지는 그렇게 좋다. 파일은 이미지가 아닌 단지 파일 일뿐입니다. 당신이 선언했기 때문에 (InputStream) 그걸로 맹세 한 것은 무엇이든간에, 당신은 아무 데서도 그것을 사용하지 않았습니다. – Myy
좋은 캐치. 고쳤다. UploadFile이 이미지 인 경우 파일이 이미지입니다. Windows 탐색기에서 파일을 읽는 방법은 파일의 확장자가 올바른 경우 이미지보기 소프트웨어에서 열어야합니다. 이것은 모두 uploadedFile.getFilename()이 반환하는 것 (확장명이? 인 파일 이름을 반환합니까?)에 따라 다릅니다. 또한 uploadedFile.getContentType을 사용하여 mimetype을 반환 할 수 있습니다. 필요한 경우 해당 확장자로 변환 할 수 있어야합니다. –
예! 그게 효과가! 이름에 '.jpeg'확장자가 없습니다. 그러나 이상한 일이 일어났습니다. 파일에 액세스하려고 시도했을 때 "Windows Photo Viewer는 anotehr 프로그램에서 편집 중이기 때문에 파일을 열 수 없습니다."라는 메시지와 함께 Windows Photo viewer를 열었습니다. 그래서 페인트로 열어 보았는데 갑자기 after2-3 분 후에 C : \ temp \ testImage.jpeg에 액세스하는 동안 공유 위반이 발생했다는 메시지가 나타났습니다. 어떤 아이디어? – Myy