Pessoal,
Seguinte, tenho a seguinte página JSP:
<%@ page
import="java.io.*"
import="java.util.*"
import="org.apache.commons.fileupload.*"
contentType="text/plain"
%>
<%
boolean isMultipart = FileUpload.isMultipartContent(request);
if (isMultipart) {
// Cria um novo gerenciador de arquivos de upload
DiskFileUpload upload = new DiskFileUpload();
/* Seta os parametros do upload: Tamanho e diretorio
Se o arquivo for muito pequeno, este e armazenado na memoria; Caso contrario,
e armazenado no disco como arquivo temporario*/
upload.setSizeMax(50*1024*1024); //50Mb
upload.setRepositoryPath("/opt");
// Parse the request
List items = upload.parseRequest(request);
Iterator it = items.iterator();
while (it.hasNext()) {
FileItem fitem = (FileItem) it.next();
if (!fitem.isFormField()) {
/*copiando o conteudo do arquivo passado para /opt/phylogenia/entrada*/
fitem.write(new File ("/opt/phylogenia/entradas/" + fitem.getName()));
%>
<%
}
}
}
%>
Tenho que acessar ela atraves da index.jsp para fazer meu upload. Entretanto, não consigo invocar o arquivo acima. Estou tentando usar ajax mas todas as minhas tentativas foram em vão. Já vasculhei a net e fiz diversos testes sem resultado.
Abaixo o código da index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Executa o Blast 2.2.19</title>
</head>
<script type="text/javascript">
function doRequest(){
var idField = document.getElementById("testeup");
var url = encodeURIComponent(idField.value);
alert(url);
if (typeof XMLHttpRequest != "undefined") {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("POST",'upload.jsp',true);
req.onreadystatechange = callback;
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(encodeURIComponent(idField.value));
}
function callback(){
if (req.readyState == 4) {
if (req.status == 200 || req.status == 0) {
alert("Encontrou");
}
}
else{
}
}
function setMessage(){
var temp = document.getElementById("mensagem");
temp.innerHTML = "<div style=\"color:red\"> teste </ div>";;
}
</script>
<body>
<div id="parteDoUpload">
<input name="testeup" type="file" id="testeup" ></input>
<input type="submit" onclick="doRequest()"></input>
</div>
<div id="mensagem"> </div>
<form name="FormBlast" method="post" action="BlastServlet" id="FormBlast">
<p><h3>Bem vindo ao serviço que executa o programa Blast 2.2.19:</h3></p>
<p>
<p>Insira o nome do programa a ser executado:
<select name="Programa" disabled="true" id="Programa">
<option value="blastn">blastn</option>
<option value="blastp">blastp</option>
<option value="blastx">blastx</option>
<option value="tblastn">tblastn</option>
<option value="tblastx">tblastn</option>
</select>
</p>
<p>Insira o nome da base de dados a ser consultada:
<select name="DB" disabled="true" id="DB">
<option value="ecoli.nt">ecoli.nt</option>
</select>
</p>
<p>Forneça seu arquivo de entrada:
<input name="FileIn" id="InputFileIn" value="" disabled="true"></input>
</p>
<p>Insira o nome do arquivo de saída:
<input name="FileOut" cols="15" id="InputFileOut" disabled="true"></input></p>
<input type="submit" value="Executar o Blast" name="BtBlast">
</form>
</body>
</html>
Alguém tem alguma idéi para me ajudar?
Obrigado !