今天文件转码碰到个文件:
文件转码的时候抛出异常(conversion failed: input document is null after loading),
从服务器当下文件查看,发现文件大小为6kb,文件内容为空,上传了其他文件测试发现转码正常,
所以不是转码线程的问题,把问题定位到文件,
新建了一个Excel文件,没有增加内容,文件大小正好是6kb,
所以转码失败的原因是6kb是文件的大小而不是文件中数据流的大小,然后文件转码在读取数据流的时候,读取到的为null,所以就报错了;
规避方法:
1,在文件流读取之前判断文件流是否为null,如果是null则不执行转码操作(这里是用的ExecutorService的submit方法);
2,在上传文件的接口处进行判断,如果文件数据流为null,则提示不能上传空文件等;