我一直在开发一个读取Excel文件并将其数据输入到数据库的函数。 Excel文件由最终用户在输入文件(HTML)中选择。当我点击提交按钮时,控制器(Java)会正常接收文件名,但是当我尝试将上传的文件放入InputStream以读取文件数据并对其进行处理时,我得到以下异常: “java .io.FileNotFoundException:“文件名”(O sistemanãopode encontrar o caminho especificado)“java.io.FileNotFoundException InputStream已上传的文件
我一直在为它工作3天,直到现在,我没有在谷歌的答案。
控制器方法代码
@Post
public void pegaArquivoMetas(HttpSession session, UploadedFile planilha) throws IOException, BiffException {
InputStream inp = new FileInputStream(planilha.getFileName());
try{
Workbook workbook = Workbook.getWorkbook(inp);
}catch(BiffException e){
e.printStackTrace();
}
}
JSP表单代码
<form enctype="multipart/form-data" method="post" action="${linkTo[MonitorController].pegaArquivoMetas}" >
<div class="col-lg-6">
<label for="txtArquivo"></label>
<input type="file" accept=".xls,.xlsx" name="planilha" class="form-control" id="txtArquivo" />
</div>
<div class="col-lg-2">
<label for="btnAtualizar"></label>
<button type="submit" id="btnAtualizar" class="btn btn-success btn-block disabled"><i class="fa fa-refresh"></i> Atualizar</button>
</div>
</form>
我试图把更多的代码在控制器,但是,我在同一条线“的InputStream INP”的得到了错误。
如果你们需要更多的信息,请不要犹豫,问。
Yeah Florian,我正在使用这个接口,我试图把planilha.getFile()放到InputStream中,那就是问题所在。 当我们使用multipart/form-data的时候,我们不需要在本地目录中创建文件,导致文件已经存在于内存中,这就是我正在尝试做的事情...... – Felipe