Estou tentando ler um arquivo CSV, entretanto me é mostrado o seguinte erro:
(O sistema não pode encontrar o arquivo especificado)
Não consigo entender o por que de não localizar, sendo que estou especificando.
Segue as classes utilizadas.
View:
Baixa da Data de Hoje
<div class="custom-file">
<input type="file" name="csv" id="csv"
lang="pt"> <label id="csvLabel" for="csv"></label>
</div>
<input type="button" class="btn btn-primary btn-sm" id="btnCsv"
value="Registrar">
</div>
JS
$('#btnCsv').click(function(e) {
var file = document.getElementById("csv").files[0].name;
if($('#csv').val() == "" || $('#csv').val()== null){
$('#errorCsv').html('Campo Não preenchido');
$('#errorCsv').show();
setTimeout(function(){
$('#errorCsv').hide();
}, 3000);
}else{
$.ajax({
url: $('#context').val()+"revogacao/baixaCsv",
type: "POST",
data: {
diretorio: file
},
dataType: 'json',
success: function( data ) {
$('#successCsv').html('Baixa CSV realizada!');
$('#successCsv').show();
$('#csv').val("");
setTimeout(function(){
$('#successCsv').hide();
}, 3000);
},
error: function (e, status, jqXHR) {
if(e.getResponseHeader('content-type') == null || e.getResponseHeader('content-type').indexOf('application/json') < 0)
$('#error').html('Falha ao ler arquivo CSV: Servidor inacessível');
$('#errorCsv').html(e.responseJSON.msg);
$('#errorCsv').show();
setTimeout(function(){
$('#errorCsv').hide();
}, 3000);
}
});
}
});
Controller:
@PostMapping(path = "/baixaCsv", produces = "application/json")
@ResponseBody
public ResponseEntity<?> baixaManualCsv(HttpServletRequest request,
@RequestParam(value = "diretorio", required = true) String diretorio) {
try {
String row;
List<List<String>> records = new ArrayList<>();
BufferedReader csvReader = new BufferedReader(new FileReader(diretorio));
while((row = csvReader.readLine())!= null) {
String[] data = row.split(";");
records.add(Arrays.asList(data));
}
//revogacao.baixaNetSales();
csvReader.close();
System.out.println("Leitura de records: " + records);
logger.info("[Recurso:/admin/revogacao/baixaManual/BaixaDoDia/CSV, sessao:" + request.getSession().getId() + ", usuario:"
+ request.getUserPrincipal().getName() + "]"
+ "[Atualização da base net Sales via CSV ]");
return new ResponseEntity<String>("{\"msg\":\"Sucesso\"}", HttpStatus.OK);
} catch (Exception e) {
logger.info("[Recurso:/admin/revogacao/baixaManual/BaixaDoDia/CSV, sessao:" + request.getSession().getId() + ", usuario:"
+ request.getUserPrincipal().getName() + "]"
+ "[Erro ao atualizar NetSales: " +e);
return new ResponseEntity<String>("{\"msg\":\" Não foi possivel obter a lista consolidada}",
HttpStatus.EXPECTATION_FAILED);
}
}