Eae galera, estou com um problema em anexar um arquivo .doc que tá no banco como tipo "BLOB" no mozilla FF e no chrome carregam tranquilo, mas no IE ele não é chamado, oq pode ser feito para resolver isso? oq pode tá acontecendo? rs....
segue os códigos
ExperienciaService.javapublic String escreveArquivo(byte[] arquivo) throws IOException {
HttpServletRequest request = RequestContext.getRequest();
HttpSession sessao = request.getSession();
String defaultImageFolder = sessao.getServletContext().getRealPath("/upload");
//Define um nome e realiza o upload
String fileName = getFileName("ArquivoCarregado.doc");
String pathToWrite = defaultImageFolder + "/" + sessao.getId() + "/" + fileName;
File file = new File(pathToWrite);
file.getParentFile().mkdirs();
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(arquivo);
String caminho = pathToWrite.substring(pathToWrite.indexOf("upload"));
caminho = String.format("http://%s:%d%s/%s", request.getServerName(), request.getServerPort(), request.getContextPath(), caminho);
return caminho;
}
private String getFileName(String baseName) {
String fileName = removeCaracteresEspeciais(baseName);
//concatenando o timestamp no nome do arquivo
if (fileName.indexOf(".") != -1) {
fileName = fileName.substring(0, fileName.indexOf("."))
+ "_"+ new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())
+ fileName.substring(fileName.indexOf("."));
}
return fileName;
}
private byte[] getFile(String file) throws IOException {
//file = removeCaracteresEspeciais(file);
URL url = new URL(file);
//o indexOf � para garantir n�o pegar o contexto
String caminho = url.getFile().substring(url.getFile().indexOf("/",1));
String caminhoRetorno = RequestContext.getRequest().getSession().getServletContext().getRealPath(caminho);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
InputStream stream = new FileInputStream(caminhoRetorno);
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
baos.write(buffer, 0, bytesRead);
}
return baos.toByteArray();
}
HTML
<form method="post" enctype="multipart/form-data" target="frameUpload" action="../upload" id="formUpload">
<td align="left" colspan="2"><input type="file" size="60" name="arquivo" id="fileAnexar"/><input type="button" id="btnUpload" value="Upload"/> <span id="containerFileName">Nenhum arquivo selecionado!</span> </td>
</form>
</tr>
function onFrameUploadLoaded(e) {
var response = document.getElementById( "frameUpload" ).contentDocument.body.innerHTML;
if(response) {
var responseJson = jQuery.parseJSON(response);
_this.onUpload(responseJson);
}
}
this.onUpload = function(event){
if(event.status == "true") {
setPathFile(event.path);
} else {
var mensagem = event.mensagem || "Erro ao realizar o upload!";
alert(mensagem);
}
}