首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用ImageIcon脚本提供的图像加载Java脚本

用ImageIcon脚本提供的图像加载Java脚本
EN

Stack Overflow用户
提问于 2010-01-21 22:46:41
回答 2查看 260关注 0票数 0

我需要从远程服务器上的映像创建一个ImageIcon。当我用像http://www.server.com/1.png这样的网址加载它时,它工作得很好。

但最近服务器发生了变化,图像存储在web根目录之外,必须通过http://www.server.com/get_image.php?id=1之类的东西访问,get_image.php会输出正确的标题来提供图像。当我用这种类型的URL创建一个ImageIcon时,它加载失败,没有抛出任何异常,getImageLoadStatus()返回MediaTracker.ERRORED。

我该怎么做,有什么想法吗?

谢谢。

编辑:这是Java代码。

ImageIcon labelIcon = new ImageIcon(new URL(IMAGE_URL));

System.out.println(labelIcon.getImageLoadStatus());

我也尝试了以下方法,但也不起作用。

ImageIcon labelIcon = new ImageIcon();

BufferedImage image = ImageIO.read(new URL(IMAGE_URL));

labelIcon.setImage(image);

编辑:这是来自get_image.php的代码。$DB是global.php中包含的一个对象,用于与MySQL数据库交互。我已经验证了返回的MIME类型是image/png。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
    if (isset($_GET['uid']))
    {
        require_once('./include/global.php');       
        getUpload(intval($_GET['uid']));
    }

    function getUpload($id)
    {
        global $DB;

        $query = "SELECT `name`, `mime_type` FROM `uploads` WHERE `id` = " . $id . " LIMIT 1";
        $arrUpload = $DB->getSingleRecord($query);

        if (count($arrUpload) > 0)
        {
            $file = UPLOADS_ROOT . $arrUpload['name'];
            header("Content-type: " . $arrUpload['mime_type']);
            header("Content-Disposition: filename=" . $arrUpload['name']);
            readfile($file);
        }
        else
        {
            header("HTTP/1.1 404 Not Found");
        }
        die();
    }
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-21 23:30:49

ImageIcon(URL)可能失败的原因之一是响应没有返回状态200。确保URL没有返回重定向(状态301/302)左右。另外,请确保请求参数名称正确。您在URL中使用了id,但PHP脚本要求使用uid

要想了解一下Java代码实际得到的响应头,可以试试下面这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
URL url = new URL("http://www.server.com/get_image.php?id=1");
URLConnection connection = url.openConnection();
for (Entry<String, List<String>> header : connection.getHeaderFields().entrySet()) {
    System.out.println(header.getKey() + "=" + header.getValue());            
}
票数 0
EN

Stack Overflow用户

发布于 2010-01-21 22:56:34

服务器可能返回了错误的内容类型:请确保在响应中将content-type标头正确设置为image/png

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2113541

复制
相关文章
现代脚本的加载
原文地址: Modern Script Loading, 文章作者是Preact作者Jason Miller
_sx_
2019/08/07
8700
Js脚本的异步加载
在浏览器中网页加载中 javascript 的 加载 和 执行会默认阻塞 DOM 的加载和页面的渲染。 因此,在编写代码的时候我们往往将 script 标签放到 body 的最后面。 当然,也可以通过异步创建 script 标签的方式来实现 js的异步加载。
epoos
2022/06/06
9.1K0
Js脚本的异步加载
无阻塞加载脚本
通常加载页面的时候,对于组件是并行下载的,现代大部分浏览器对于Js同样也是支持并行下载,但是在脚本下载、解析并执行完毕之前,不会开始下载任何其他内容。
菜的黑人牙膏
2019/01/21
4360
gdb加载python脚本的方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/details/76733977
血狼debugeeker
2018/09/20
2K0
智能图像签名生成脚本
https://cloud.tencent.com/document/product/867/17719
杜志强
2019/03/21
9300
Cycript 小知识:加载自己的脚本
Cycript是一个理解Objective-C语法的javascript解释器,这意味着我们能够在一个命令中用Objective-C或者javascript,甚至2者兼用。它能够挂钩正在运行的进程,能够在运行时修改应用的很多东西。
公众号iOS逆向
2022/08/22
6000
安装java脚本
卸载掉现有的JAVA版本的话,可以使用 rpm -qa | grep java 和 rpm -e xxx --nodeps进行卸载
summerking
2022/10/27
5040
java 脚本引擎
本文节选自《Netkiller Java 手札》 第 18 章 java 脚本引擎 目录 18.1. Maven 18.2. Helloworld 18.3. 运行脚本文件 18.4. 变量传递 18.5. 全局变量与局部变量定义 18.6. 调用脚本中的函数或方法 18.7. 脚本编译 什么是脚本引擎,脚本引擎是指在程序运行期间嵌入另一种脚本语言,并与其交互,产生最终运行结果 脚本引擎存在的意义是什么?脚本引擎可以改变编译语言的内部运行逻辑,弥补编译语言的不足,使编译语言具备动态语言的一部分特性。 是否有
netkiller old
2018/03/05
1.8K0
JavaScript 动态加载脚本和样式
3大点: 1.元素位置 2.动态脚本 3.动态样式 一.元素位置 getBoundingClientRect()。这个方法返回一个矩形对象,包含四个属性:left、top、right和bottom。分别表示元素各边与页面上边和左边的距离。 var box = document.getElementById('box');//获取元素 alert(box.getBoundingClientRect().top);//元素上边距离页面上边的距离 alert(box.getBoundingClientRect()
汤高
2018/01/11
1.4K0
Java动态脚本
诸如此类的需求若采用硬编码实现,则迭代成本相当高,每次改动都需要进行开发、测试、部署。同时业务规则的频繁变更会导致代码的开发和维护成本大大提高。
ruochen
2021/11/22
1K0
Java中ImageIcon的路径问题
这行代码执行时在project目录下查找名为logo.gif的文件,结果当然是找不到。
緣來
2020/01/02
2.9K0
异步加载脚本保持执行顺序
首先是外部脚本和行内脚本,对于异步加载的脚本,会导致竞争状态,使得出现未定义的错。
菜的黑人牙膏
2019/01/21
1.8K0
Quick-Task 动态脚本支持框架之Groovy脚本加载执行
上一篇简答说了如何判断有任务动态添加、删除或更新,归于一点就是监听文件的变化,判断目录下的Groovy文件是否有新增删除和改变,从而判定是否有任务的变更;
一灰灰blog
2018/08/07
1.2K0
Quick-Task 动态脚本支持框架之Groovy脚本加载执行
用shell脚本猜大小
创建shell脚本环境 vim guess 极简猜大小 echo $1 if [ $1 -gt 12 ]; then echo "猜大了" elif [ $1 -lt 12 ]; then echo "猜小了" else echo "猜对了" break fi 用while语句 猜大小 while true; do echo "请输入一个数字" read aa; if [ $aa -gt 12 ]; then echo "
Maynor
2021/04/09
2740
用Python写Shell脚本
os.system函数与系统编程中的exec族函数调用一致,创建出子进程后代码段由外部程序替换,不会返回外部程序运行结果。
菜菜cc
2022/11/15
1.5K0
Java动态脚本运用
一般的需求可使用上述动态脚本实现,如果遇到业务规则更为复杂、规模更大、对功能和性能有更高要求的需求时,可考虑更为专业的规则引擎和计算/表达式引擎。
花落花相惜
2021/12/15
1.3K0
JAVA调用Shell脚本
在实际项目中,JAVA有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell。先把C写出来的make成可执行文件,然后再写一个shell脚本执行该可执行文件,最后是JAVA调用该shell脚本。 JAVA调用很简单,例子如下: 首先是shell脚本 /users/bmcmsend_linux/server/bin/msend -n @10.26.202.27:1828#mc -a TRKUTIL_EV -v -j /users/bmcmsend_linux/server
Java学习123
2018/05/16
3.1K0
java: ant 脚本示例
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!--basedir是从build.xml所在的目录为基础算起的--> 4 <project nam
菩提树下的杨过
2018/01/24
8660
180807-Quick-Task 动态脚本支持框架之Groovy脚本加载执行
上一篇简答说了如何判断有任务动态添加、删除或更新,归于一点就是监听文件的变化,判断目录下的Groovy文件是否有新增删除和改变,从而判定是否有任务的变更;
一灰灰blog
2019/05/26
5250
Java基础-脚本引擎
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
cwl_java
2019/11/12
9850

相似问题

用ImageIcon代替ImageIO加载图像

24

用java脚本在网站上更快地加载图像

20

用java脚本顺序加载网站

11

使用PHP脚本提供图像与直接加载图像

90

Java中的ImageIcon加载

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文