我需要使用REST ws(Jersey)分别读取两个上载的text / csv文件,该文件描述了一个示例片段。
@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绑定到第一输入流,将outsandingFile文件绑定到第二输入流,因为我必须为每个文件分别处理它们。
Been谷歌搜索未能找到适合我要求的解决方案。 因此,任何解决方案都是一样的,谢谢大家!!!