最近需求需要post接口发送给外部系统中数据,且包含pdf文件,由于之前系统中没有用到,这里记录下实现过程:
1、首先模板存储在资源服务器上,第一步取出附件这里不再赘述,下面代码是下载后的file附件首先要转成MultipartFile
进行传输,如下:
private static MultipartFile getMulFileByPath(File file, String fieldName) {
FileItem fileItem = createFileItem(file,fieldName);
MultipartFile mfile = new CommonsMultipartFile(fileItem);
return mfile;
}
private static FileItem createFileItem(File file, String fieldName) {
FileItemFactory factory = new DiskFileItemFactory(16, null);
FileItem item = factory.createItem(fieldName, "text/plain", true, file.getName());
FileInputStream fis = null;
OutputStream os = null;
int bytesRead = 0;
byte[] buffer = new byte[8192];
try {
fis = new FileInputStream(file);
os = item.getOutputStream();
while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
os.write(buffer, 0, bytesRead);
}
os.close();
fis.close();
} catch (IOException e) {
Log.error("file转化出错createFileItem(File file, String fieldName)报错",e);
}finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException e) {
Log.error("file转化出错createFileItem(File file, String fieldName)时io关闭出现错误");
}
try {
if (os != null) {
os.close()