У меня есть требование при чтении двух загруженных текстовых / csv-файлов по отдельности с использованием REST ws (Джерси), ниже образца фрагмента, который показывает то же самое.
@Path("bcmfileinput")
public class BCMFileInputCheckResource{
@POST
@Path("survivour1")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public String getSurvivour1File(@FormDataParam(value="eaiTradesFile")InputStream eaiTradesStream,@FormDataParam(value="outsandingFile")InputStream outTradesStream) throws IOException{
//writing eaiTradesStream to the file to test
BufferedReader br = new BufferedReader(new InputStreamReader(eaiTradesStream,"UTF-8"));
PrintWriter f=new PrintWriter(new File("H:/abc.csv"));
String line="";
while((line=br.readLine())!=null ){
f.write(line);
f.println();
}
f.flush();
f.close();
return "H:/abc.csv";
}
И пример HTML-страницы:
<html>
<body>
<h2>BCM File Upload</h2>
<form action="http://localhost:9080/swiftmx/public/bcmfileinput/survivour1" method="post" enctype="multipart/form-data">
<p>
Select Eai Positions file : <input type="file" name="eaiTradesFile" size="45" />
<br>
<br>
Select Outstanding file : <input type="file" name="outsandingFile" size="45" />
</p>
<input type="submit" value="Upload It" />
</form>
</body>
</html>
С помощью приведенного выше кода, когда я записываю любой поток в файл, то печатаются данные обоих файлов.Но мое требование состоит в том, чтобы привязать eaiTradesFile к 1-му входному потоку и файлу outsandingFile к 2-му входному потоку, поскольку мне приходится обрабатывать их отдельно для каждого файла.
Не удалось найти подходящее решение для моего требования.Итак, любое решение за то же самое заметно, заранее всем спасибо !!!