나는 Glassfish 3.1.2.2, Sql Server 2005, PF 3.4 및 Mojarra 2.1.6을 사용합니다. Ide Eclipse Juno.varbinary 파일을 다운로드, 업로드 및 표시 할 수 있습니까? Primefaces 3.4 - fileupload - filedownload - media
내가 저장 프로 시저를 사용하고 항아리 평민 - io.1.4과 평민 - fileupload.1.2.1 데이터베이스에서
, 우리는 VARBINARY에있는 모든 파일 (PDF, 문서, XLS 등)을 저장할 추가합니다.
- 내가 (등 PDF, 문서, XLS,) 어떤 파일을 업로드 할 수있는 방법페이지로 : 나는이 의심이 파일 업로드을하고 데이터베이스에 VARBINARY 파일로 저장? 하면 FileDownload : 나는 페이지로 데이터베이스의 VARBINARY 파일을 다운로드 할 수 있습니다 방법
- ? 데이터베이스에서 파일 VARBINARY 복구 미디어 : 나는 페이지에 PDF 파일을 표시 할 수 있습니다 방법
- ?
ONE 질문 내가 어떤 페이지와 파일 (PDF, 문서, XLS 등) 업로드 할 수있는 방법
: 파일 업로드를하고이 데이터베이스에 저장?
필자는 문서화 이후 p : fileupload를 보지 못했습니다. 파일 업로드를 위해이 메소드 (handlerFileUpload)를 사용합니다. 최초 내가 BinaryStream setBinaryStream과 (.. 4, inputStream을, (int)를 inputStream.toString() getBytes() 길이) file.getInputStream를 사용하여 저장 프로 시저를 전송
<p:fileUpload fileUploadListener="#{fileBean.handleFileUpload}" />
public class FileBean {
public void handleFileUpload(FileUploadEvent event) {
UploadedFile file = event.getFile();
//application code
}
}
이벤트의 inputScream를 얻을;
이것은 좋은가 ??
두 질문 내가 P 어떤 VARBINARY 파일을 다운로드 할 수 있습니다 방법
:하면 FileDownload?
나는 getBytes를 사용하여 데이터베이스 이후 varbinary를 복구합니다. 저장 프로 시저를 사용한다는 사실을 기억하십시오.
이 메서드는 요청 범위가있는 클래스입니다.
public byte[] ArchivoBin(int CDTPEnlaceImagen, int iddoc) {
Context();
Null_Rs_and_Proc();
Connection(0);
PA(2, 51);
[b]byte[] file = null;[/b]
try {
setProc(getCon().prepareCall(getCall()));
getProc().setInt(1, CDTPEnlaceImagen);
getProc().setInt(2, iddoc);
setRs(getProc().executeQuery());
getRs().next();
[b]file = getRs().getBytes(1);[/b]
System.out.println(file);
}
catch(SQLException e) {
System.out.println("Exception ArchivoBin");
System.out.println(e);
}
CloseConnections();
return file;}
그러나 파일을 바이트로 가져올 때 바이트를 inputscream로 변환 한 다음 InputScream을 DefaultStreamedContent로 변환합니다.
이 부분은 요청 범위가있는 클래스입니다.
byte[] bytes = null;
bytes = getRecuperarDatos().ArchivoBin(
1,
idarchivo);
//Archivo is a Session Scope
getArchivo().setFile(new DefaultStreamedContent(
[b]new ByteArrayInputStream(bytes)[/b],
"application/pdf",
nomArchivo));
F : 파일이 정확하지 다운로드는, 그것은 손상되었습니다.
<h:commandButton value="Download">
[b]<p:fileDownload value="#{archivo.file}"[/b] />
</h:commandButton>
나도 몰라 왜 나쁜
세 질문
내가 페이지에 PDF 파일을 표시 할 수 있습니다 방법 : 데이터베이스에서 VARBINARY 파일을 복구, 미디어?
이 두 질문과 유사하다, p는 : 미디어 내가 방법을 내용으로 데이터베이스에 파일을 저장할 때
큰 수있는 데이터베이스에 파일을 저장하면 안됩니다. 대신 디스크에 파일을 저장하고 파일 위치를 데이터베이스에 저장하십시오. 프로/죄악에 대해서는 [here] (http://stackoverflow.com/questions/211895/)를 참조하십시오. – siebz0r
우리는 파일별로 1MB를 저장합니다. – fylex