Boa tarde Srs.,
Pesqueisando pela WEB afim de tentar fazer um sisteminha de upload de fotos para meu site, encontrei o Uploadify.
Perdi bastante tempo pesquisando a respeito do uso dele com java e não fui bem sucedido.
Aparentemente o Uploadify vem para uso padrão com PHP, vem até com uma classe de Upload em PHP.
Minha página está toda escrita em JSP + Hibernate por isso quero escrever uma classe de upload em JAVA.
Confesso que estou viajando bastante da mecanica do funcionamento do Uploadify…
se mais delongas, estou anexando a primeira parte do meu código:
Index.jsp
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Flash Upload Test</title>
<script type="text/javascript" src="http://www.shiguenori.com/jquery/jquery-1.3.1.js"></script>
<script type="text/javascript" src="jquery.fileupload.js"></script>
<script type="text/javascript">
$(document).ready(
function(){
$('#files').uploadify({
'uploader' :'uploader.swf',
'script' :'${pageContext.request.contextPath}/ServletUpload',
'cancelImg' :'cancel.png',
'folder' :'/tmp',
'multi' :true,
'buttonText' :'Adicionar arquivo',
'queueSizeLimit' :5 ,
'sizeLimit' :2048000,
'fileExt' :'*.jpg;*.pdf;',
'onError' :function(event, queueID, fileObj, errorObj){
alert(errorObj.info);
}
});
}
);
</script>
<style>/* CSS PARA ESTILIZAR A BARRA DE PROGRESSO */
body {
font: 12px/18px Arial, Helvetica, sans-serif;
}
.fileUploadQueueItem {
font: 11px Verdana, Geneva, sans-serif;
background-color: #F5F5F5;
border: 3px solid #E5E5E5;
margin-top: 5px;
padding: 10px;
width: 300px;
}
.fileUploadQueueItem .cancel {
float: right;
}
.fileUploadProgress {
background-color: #FFFFFF;
border-top: 1px solid #808080;
border-left: 1px solid #808080;
border-right: 1px solid #C5C5C5;
border-bottom: 1px solid #C5C5C5;
margin-top: 10px;
width: 100%;
}
.fileUploadProgressBar {
background-color: #0099FF;
}
</style>
</head>
<body>
<h1>JQuery FileUpload - Exemplo</h1>
<h2>Envio multiplo, autostart e apenas imagens</h2>
<p></p>
<input name="arquivo" id="arquivo" type="file" /></body>
</html>
Srs. Em cima desse código vem minhas questões:
1 - [color=blue][/color] Deve estar dentro de um ?
Seguindo o código do servlet que direciono na linha 13 desse código acima:
/ServletUpload
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
//Verificador de arquivos MultiPart (implantar)
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(MAX_MEMO);
//factory.setRepository(File.createTempFile(TEMPFILE, "img"));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(MAX_MEMO);
List items = null;
try {
items = upload.parseRequest(request);
} catch (FileUploadException ex) {
Logger.getLogger(ServletUpload.class.getName()).log(Level.SEVERE, null, ex);
}
Iterator iter = items.iterator();
FileItem item = (FileItem) iter.next();
String fileName = null;
// Process a regular form field
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
}
// Process a file upload
if (!item.isFormField()) {
String fieldName = item.getFieldName();
fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
}
if ((fileName != null) && (!fileName.equals(""))) {
fileName = (new File(fileName)).getName();
try {
item.write(new File(CAMINHO + fileName));
} catch (Exception ex) {
Logger.getLogger(ServletUpload.class.getName()).log(Level.SEVERE, null, ex);
}
}
} finally {
out.close();
}
}
Postei apenas o [color=darkblue]metodo doGet[/color], e acho que assim deveria funcionar.
2 - Se eu crio um + campos manualmente no index sem usar o UPLOADIFY, e direciono pra esse script, ele funciona certinho, porque com o Uploadify não funfa?
Desde de já agradecido,
Abraço,
Jorge Libanori