Pessoas,
Eu tenho um problema aqui no servico que eu nunca fiz, acreditem… UPLOAD de arquivo…
Agora eu nao pretendo entender, pois eu tenho que resolver o problema, entao, nesse primeiro momento, eu gostaria da ajuda de voces para resolver esse problema.
Arrumei um codigo e to testando aqui, so que esta dando um erro, sera que alguem sabe pq???
Meu form:
<form method="get" name="form" id="form">
<label for="arq">Arquivo:</label>
<input type="file" name="arq" id="arq" size="25" tabindex="15" accesskey="2">
<br>
<input type="button" name="TRANSMITIR" value="Transmitir Arquivo" onClick="return validaarquivo(form.arq.value)" tabindex="30">
</form>
Minha funcao validaarquivo:
[code]
function validaarquivo(campo)
{
TamanhoString = campo.length;
extensao = campo.substr(TamanhoString - 4,TamanhoString);
if (TamanhoString == 0 )
{
alert(‘Você precisa selecionar um arquivo antes de transmitir.’);
return false;
}
else
{
var ext = new Array(’.pdf’);//adicione as extensões desejadas
for(var i = 0; i < ext.length; i++)
{
if (extensao == ext[i])
{
flag = “ok”;
break;
}
else
{
flag = “erro”;
}
}
if (flag==“erro”)
{
alert(“O tipo do arquivo precisa ser no formato PDF.”)
document.form.arq.value="";
return false;
}
}
//caminhourl = “upload.jsp”;
document.form.action = ‘TesteUpload’;
window.document.form.submit();
return true;
}[/code]
E meu Servlet TesteUpload:
[code]
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(50000 * 1024 * 1024);
try {
List items = upload.parseRequest(request);
// Processa os itens do upload
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.getFieldName().equals("arq")) {
String nome = item.getName();
StringBuffer bn = new StringBuffer();
bn.append("C:/temp/");
bn.append(nome);
File uploadedFile = new File(bn.toString());
item.write(uploadedFile);
}
}
} catch (FileUploadException fuex) {
System.out.println(fuex.getMessage().toString());
} catch (Exception ex) {
ex.getMessage().toString();
}
}[/code]
O erro que ta dando é quando ele entra no TRY, logo na primeira linha… lendo: “List items = upload.parseRequest(request);”
Ele entra na excecao: “System.out.println(fuex.getMessage().toString());”
Gerando o seguinte erro:
“the request doesn’t contain a multipart/form-data or multipart/mixed stream, content type header is null”
ME AJUUUDEM… heheh
Valeu!