开发者社区> 问答> 正文

ImageIO.read的通过new File(),无法读取文件的问题?报错

如题: 代码如下,一段简单的读取图片的代码

 BufferedImage bufferImg = null;//图片一  

   ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); 
   try {
       URL url = new URL(imgUrl); 
bufferImg = ImageIO.read(url);
ImageIO.write(bufferImg, "png", byteArrayOut);
} catch (IOException e) {
e.printStackTrace();
LOGGER.error("生成图片出错");

}


但是如果我通过bufferImg = ImageIO.read(new File(imgUrl));去读取图片就报错;

 Can't read input file!


求解了??

展开
收起
爱吃鱼的程序员 2020-06-08 19:59:57 1060 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    引用来自“乌龟壳”的评论

    我一般是这么操作的

    varimageObj=newImage();imageObj.onload=function(){varcanvas=document.createElement("canvas");canvas.width=imageObj.width;canvas.height=imageObj.height;varctx=canvas.getContext("2d");ctx.drawImage(imageObj,0,0);console.log(canvas.toDataURL("image/png"));}imageObj.onerror=function(){console.log('error');}imageObj.src='http://127.0.0.1/a.jpg';



    我一般是这么操作的

    varimageObj=newImage();imageObj.onload=function(){varcanvas=document.createElement("canvas");canvas.width=imageObj.width;canvas.height=imageObj.height;varctx=canvas.getContext("2d");ctx.drawImage(imageObj,0,0);console.log(canvas.toDataURL("image/png"));}imageObj.onerror=function(){console.log('error');}imageObj.src='http://127.0.0.1/a.jpg';



    图片地址能找到吗回复 @李老师-123:奇怪的就是我读取本地E://这种写法是可以的,但是上传到服务器却不行.....回复 @咖啡加糖:图片地址用的服务器地址,还是直接盘符,直接盘符是不行的可以得,在浏览器中输入地址都可以显示出图片
    2020-06-09 15:46:23
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载