我现在遇到这样一个问题,前端上传的excel文件被flex给映射成了一个二进制流数组 byte[]这样的,而我拿到这个byte[]之后呢,又要传到后台,后台的java方法是 File 的参数接受的,所以他这个byte[]数组怎么能映射到File又不需要临时文件呢?
------解决方案--------------------
那你可以把byte[] 写入一个文件,然后new File吧
------解决方案--------------------
processImportData(final File file)
这个设计接口有问题啊,为什么不是
processImportData(final InputStream inputStream)
不生成临时文件没办法传参
------解决方案--------------------
FileOutputStream?fstream?,这个应该也的关闭
------解决方案--------------------
public static File getFileFromBytes(byte[] b, String outputFile) ...{
BufferedOutputStream stream = null;
File file = null;
try ...{
file = new File(outputFile);
FileOutputStream fstream = new FileOutputStream(file);
stream = new BufferedOutputStream(fstream);
stream.write(b);
} catch (Exception e) ...{
e.printStackTrace();
} finally ...{
if (stream != null) ...{
try ...{
stream.close();
} catch (IOException e1) ...{
e1.printStackTrace();
}
}
}
return file;
}
------解决方案--------------------
File file = getFileFromBytes...
只能这样传了