FileNotFoundException: http:\localhos46087125.jpg (文件名、目录名或卷标语法不正确 | 您所在的位置:网站首页 › 星空无限传媒是台湾的吗知乎 › FileNotFoundException: http:\localhos46087125.jpg (文件名、目录名或卷标语法不正确 |
java.io.FileNotFoundException: http:\localhost:8080\ipms\upload\1332146087125.jpg (文件名、目录名或卷标语法不正确。) http://localhost:8080/ipms/upload/1332146087125.jpg这个是源路径,能打开;导出只能通过这个来获取图片;但是一导出,就报上面的那个错误,求解决方法;
用户提供的答案1: ....io怎么通过http来访问...要本地物理路径 如 D:/tomcat/webapps/IPMS/UPLOAD/xxx.jpg
用户提供的答案2: new ImageIcon(new URL("....")).getImage();
用户提供的答案3: 用request的contextPath拼上你后边的路径 /upload/1332146087125.jpg就可以拿到了
用户提供的答案4: BufferedImage bufferImg = ImageIO.read(new URL(imageurl)); 我这样用的,可以用URL获取到图片
可用方法: Java模块 -- 从网络中读取图片 转换成Base64字符串 * 将图片转换为BASE64为字符串 * @param filename * @return * @throws IOException */ public static String getImageString(String filename) throws IOException { InputStream in = null; byte[] data = null; try { //in = new FileInputStream(filename); in = getInputStreamFromURL(filename); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { throw e; } finally { if(in != null) in.close(); } BASE64Encoder encoder = new BASE64Encoder(); return data != null ? encoder.encode(data) : ""; } /** * 从URL中读取图片,转换成流形式. * @param destUrl * @return */ public static InputStream getInputStreamFromURL(String destUrl){ HttpURLConnection httpUrl = null; URL url = null; InputStream in = null; try{ url = new URL(destUrl); httpUrl = (HttpURLConnection) url.openConnection(); httpUrl.connect(); in = httpUrl.getInputStream(); return in; }catch (Exception e) { e.printStackTrace(); } return null; } public static void main(String[] args) { String s = null; try { s = getImageString("http://localhost:8080/all/2017/02/09/14/0777a8af971040729998e6f3bd3b3dca.png"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(s); }
本地图片获取InputStream用new FileInputStream(filename), 网络图片需要用new URL(destUrl)处理,然后openConnection(),然后使用getInputStream()获取。 |
CopyRight 2018-2019 实验室设备网 版权所有 |