Android从服务端下载图片问题

coffeeroy2 2014-09-28 08:37:05
下图是我的Myeclipse项目的webroot文件夹,

我想下载这个文件夹中的图片,可是我发现出现了诡异的错误。除了test01_upload_1.jpg以外,其它的图片都显示FileNotFoundException。
下面是我的测试代码和错误信息。

package com.example.imagedownload;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;

public class MainActivity extends Activity {

private ImageView imageView;
private String imageUrl = "http://10.0.2.2:8080/BBStuServlet/573da5540dee470f9ec41de207e83b73.jpg";

final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
System.out.println(msg.obj);
imageView.setImageDrawable((Drawable) msg.obj);
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

imageView = (ImageView) findViewById(R.id.imageView1);

new Thread(new Runnable() {

@Override
public void run() {
try {
Drawable drawable = Drawable.createFromStream(new URL(
imageUrl).openStream(), "image.jpg");
System.out.println("draw = " + drawable);
Message msg = new Message();
msg.obj = drawable;
handler.sendMessage(msg);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();

}

}




09-28 12:29:28.243: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property
09-28 12:29:28.334: E/Trace(3029): error opening trace file: No such file or directory (2)
09-28 12:29:28.684: W/System.err(3029): java.io.FileNotFoundException: http://10.0.2.2:8080/BBStuServlet/573da5540dee470f9ec41de207e83b73.jpg
09-28 12:29:28.724: W/System.err(3029): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
09-28 12:29:28.724: W/System.err(3029): at java.net.URL.openStream(URL.java:462)
09-28 12:29:28.724: W/System.err(3029): at com.example.imagedownload.MainActivity$2.run(MainActivity.java:40)
09-28 12:29:28.735: W/System.err(3029): at java.lang.Thread.run(Thread.java:856)
09-28 12:29:28.774: E/SurfaceFlinger(37): ro.sf.lcd_density must be defined as a build property



好奇怪的问题,如果是全都下载不了,可能是代码或者配置的问题,可是有的能下载,有的不能,实在是很奇怪。哪位大神能帮我解决下,困扰两天了。
...全文
549 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeky_zhang2013 2014-10-02
  • 打赏
  • 举报
回复
不知道其他后面为什么有个@号,把这个弄清楚 ,在看看
svenwang 2014-10-02
  • 打赏
  • 举报
回复
有@的可能是个软连接,需要把真实的文件的权限开放才可以。 建议还是用ubuntu,比较容易理解。
Kifile 2014-09-30
  • 打赏
  • 举报
回复
你没发现你的其他图片的权限和1.jpg 的权限不一样吗?你查一下怎么改对,然后应该就 Ok 了 ps:无论哪个平台开发 android 都一样了,开发工具都是一致的,没什么差异的
svenwang 2014-09-30
  • 打赏
  • 举报
回复
其实可以采用排除法。要是你连一个ubuntu服务器可以正常下载,就说明是mac机器的问题。
coffeeroy2 2014-09-30
  • 打赏
  • 举报
回复
引用 8 楼 kifile 的回复:
从命令行,进入存放图片的目录,然后使用"ls -al",发结果看看吧
如下:
svenwang 2014-09-30
  • 打赏
  • 举报
回复
mac不适合做android开发,最好的是ubuntu,windows也可以。
Kifile 2014-09-30
  • 打赏
  • 举报
回复
从命令行,进入存放图片的目录,然后使用"ls -al",发结果看看吧
coffeeroy2 2014-09-30
  • 打赏
  • 举报
回复
引用 6 楼 kifile 的回复:
不能访问,看你的意思,从浏览器里也不能访问,看起来像是服务器的问题,那么你看看你剩下几张图片的读写权限呢, macos 是 类unix操作系统,不过你对图片没有读写权限,那就无法访问
出现下面的错误
改权限应该怎么改呢?改这个文件夹的还是其它什么?
Kifile 2014-09-30
  • 打赏
  • 举报
回复
不能访问,看你的意思,从浏览器里也不能访问,看起来像是服务器的问题,那么你看看你剩下几张图片的读写权限呢, macos 是 类unix操作系统,不过你对图片没有读写权限,那就无法访问
coffeeroy2 2014-09-30
  • 打赏
  • 举报
回复
引用 4 楼 jeky198306 的回复:
是不是名称太长了?先在浏览器试下
我在浏览器试了才发现,只有test01_upload_1.jpg能显示,其它都不能。这是为什么?难道跟图片格式有关?还是需要对图片进行特殊处理?名字的长短几张图片是一样的
jeky_zhang2013 2014-09-28
  • 打赏
  • 举报
回复
是不是名称太长了?先在浏览器试下
coffeeroy2 2014-09-28
  • 打赏
  • 举报
回复
引用 1 楼 jingshuaizh 的回复:
你确定 tomcat 下的 包里面 有你要下载的 jpg 文件么? 建议你到tomcat 下面验证一下, 再在浏览器里面 验证一下 通过浏览器能不能下载。
那为什么有一张图片可以下载?好奇怪啊,有一张可以下载,其它不能。
coffeeroy2 2014-09-28
  • 打赏
  • 举报
回复
引用 1 楼 jingshuaizh 的回复:
你确定 tomcat 下的 包里面 有你要下载的 jpg 文件么? 建议你到tomcat 下面验证一下, 再在浏览器里面 验证一下 通过浏览器能不能下载。
我直接用的Myeclipse里自带的tomcat 7 ,然后把图片放到workspace对应的项目里面了。你的意思是必须单独配置Tomcat?直接用Myeclipse自带的不可以吗?
蓝海D鱼 2014-09-28
  • 打赏
  • 举报
回复
你确定 tomcat 下的 包里面 有你要下载的 jpg 文件么? 建议你到tomcat 下面验证一下, 再在浏览器里面 验证一下 通过浏览器能不能下载。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧