最近在做的项目由windows系统迁移到麒麟系统上,在麒麟系统上变色的图片是预览不出来的,而windows上确实可以的。所以就在网上找了一下解决方案并将解决方案记录一下。
问题:1、图片需要用
Base64编码处理,这里在写入的时候直接定死了后缀名
2、jpg和jpeg格式的图片需要重画
* 将本地图片文件转化为字节数组字符串,并对其进行Base64编码处理
* @param imageFile
* @return
public static String encodeFileImageToBase64(File imageFile) {
//获取文件名
String fileName = imageFile.getName();
//截取后缀名
String formatName = fileName.substring(fileName.lastIndexOf(".") + 1);
ByteArrayOutputStream outputStream = null;
try {
BufferedImage bufferedImage = ImageIO.read(imageFile);
outputStream = new ByteArrayOutputStream();
//如果是jpg或者是jpeg,需要重画一下,否则会变色
if (formatName.equalsIgnoreCase("jpg") || formatName.equalsIgnoreCase("jpeg")) { //重画一下,要么会变色
BufferedImage tag;
tag = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_BGR);
Graphics g = tag.getGraphics();
g.drawImage(bufferedImage, 0, 0, null); // 绘制缩小后的图
g.dispose();
bufferedImage = tag;
//将formatName 后缀名传入
ImageIO.write(bufferedImage, formatName, outputStream);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
return Base64.getEncoder().encodeToString(outputStream.toByteArray());
前言:最近在做的项目由windows系统迁移到麒麟系统上,在麒麟系统上变色的图片是预览不出来的,而windows上确实可以的。所以就在网上找了一下解决方案并将解决方案记录一下。wen
原文https://blog.csdn.net/zuoyedongfeng/article/details/84837537
上传图片
变色
或报“
Invalid
argument
to
native
write
Image
”错误
原因:jpg和jpeg格式的图片需要重画
解决方法:
@param
image
图片
@param formatName 格式名称
@para...
在docker容器中读写图片
出现
Invalid
argument
to
native
write
Image
异常
异常
出现
环境:
在docker容器中部署的jar项目,在windows中测试ok,在linux系统的docker容器中,写图片时遇到的
异常
问题
* @param portraitURL 图片网络URL连接地址
* @return
private String upload(String portraitURL){
异常
信息
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6bef3b3]
18:35:48.398 [schedule-pool-2] INFO c.r.f.s.w.s.OnlineWebSessionManager - [validateSessions,159] - Finished
invalid
ation session. No sessions were sto
报错信息:2018-05-24 15:32:25 -899885 [http-bio-80-exec-7] DEBUG - Found 'shiro.sesssion' cookie value [85a3a505-eed2-412e-9e0c-e23626e62bdb]
java
x.
image
io.IIOException:
Invalid
JPEG file structure: two ...
// 这段代码检查上传的文件是否为图片(GIF, JPEG, 或者 JPG格式)并且大小小于100KB if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "
"; // 如果文件上传过程...
在对图片进行处理过程中,发现
java
不支持 某些图片的操作(放大,缩小)
Image
IO.read()报:
java
x.
image
io.IIOException:
Invalid
icc profile: bad
sequence number
一般这些图片,是由扫描仪扫描,或者数码相机拍摄,并且处理时,图片的颜色空间(colorspace)为CMYK模式。 导致了
Image
IO.read(
java
x.
image
io.IIOException:<strong> Can't create output stream!</strong>
java
x.
image
io.
Image
IO.
write
(
Image
IO.
java
:1560)
com.ju...
当在FFmpeg命令中
出现
"
Invalid
argument
"错误时,通常是因为命令中有一个或多个参数无效或不正确。这可能是由于以下原因之一导致的:
1. 参数拼写错误或语法错误:请检查命令中的所有参数是否按正确的语法书写。例如,有时候忘记了输入文件或输出文件的名称,或者参数的顺序不正确。
2. 不支持的参数:有些参数可能只适用于特定的编解码器或格式。如果使用了不支持的参数,就会
出现
"
Invalid
argument
"错误。
3. 版本不兼容:某些参数可能只适用于特定版本的FFmpeg。如果使用了不兼容的参数,就会
出现
"
Invalid
argument
"错误。
解决这个问题的最好方法是检查命令行中的所有参数,并确保它们都是正确的。如果有疑问,请查看FFmpeg的文档或使用"ffmpeg -h"命令查看可用的参数。
mybatis中的一个小异常org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to