2 ze lin huang ze_lin_huang 于 2014.01.22 22:23 提问

android 文件下载,url中没有带文件名,如何下载

例如:http://tp1.sinaimg.cn/1974320764/180/5645631766/1,url中没有带文件名,如何下载

3个回答

nimengbo
nimengbo   2014.01.23 12:59

那个1 不是文件名吗

sasuke38
sasuke38   2014.01.23 17:44

即使如此也可以直接下载啊 用常规的方法
不然你也可以获取真实地址来下载

public static String getFileNameFromUrl(String url) {
        String file = null;
        disableConnectionReuseIfNecessary();
        HttpURLConnection conn = null;
        URL oUrl = null;
        try {
            oUrl = new URL(url);
            conn = (HttpURLConnection) oUrl.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("X-Online-Host", oUrl.getHost());
            // conn.setRequestProperty("Accept", ACCEPT);
            conn.setRequestProperty("Accept-Language", "zh-CN");
            conn.setRequestProperty("Referer", oUrl.toString());
            conn.setRequestProperty("Charset", "UTF-8");
            // conn.setRequestProperty("User-Agent", USERAGENT);
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setConnectTimeout(5000);
            conn.setReadTimeout(5000);
            conn.connect();
            int code = conn.getResponseCode();
            if (code == 200) {
                file = conn.getURL().getFile();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                conn.disconnect();
            } catch (Exception e2) {
            }
        }
        return file;
    }
tanranran
tanranran   2014.02.17 16:12

随机生成一个名称。比如按照时间,然后后面追加随机字符

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
成功解决 Android 下载中文文件名(转)
1、tomcat6.x 服务器 2、android虚拟器下载文件 如下载服务器上文件: 测试.MP3 下载路径:http://192.168.1.110:8080/mp3/测试.mp3 解决办法: 1.先在设置服务器编码:找到Tomcat安装目录下的server.xml文件(Tomcat 6.0\conf\server.xml)。设置编码为UTF-8 8080"
Android下载文件,如何获取实际的文件名
1. 前言之前APP实现下载文件的功能,都是让后台把下载地址和文件名(包含文件后缀名)传过来。不过近日后台只传了下载地址,我懒得麻烦人家也把文件名传来,所以就自己查资料,想方法解决。2. 解决方案解决的办法如下面的代码所示,目前还算能满足要求,如果大伙们有更好的方法,可以在评论说一声。 HttpURLConnection connection = null; int...
使用HttpURLConnection下载带空格或中文名字的文件时出现找不到
使用HttpURLConnection下载文件时经常会出现 java.io.FileNotFoundException文件找不到异常,下面介绍下解决办法 首先设置tomcat对get数据的编码:conf/server.xml "8080"  protocol="HTTP/1.1"     connectionTimeout="20000"    redire
android:根据下载文件的url获取文件名
1、通过UrlConnection来获取2、通过截取url地址最后一个"/"来获取public static String getFileName(String url) {        String filename = "";        boolean isok = false;        // 从UrlConnection中获取文件名称        try {         
Android里根据下载文件的url获取文件名
1、通过UrlConnection来获取 2、通过截取url地址最后一个"/"来获取 public static String getFileName(String url) {         String filename = "";         boolean isok = false;         // 从UrlConnection中获取文件名称    
获取下载url的真实文件名和扩展名
   最近在学习用PHP做一个软件下载的内部管理系统(MVC框架),需要先插入一条软件的下载记录到数据库,然后通过后台shell去自动下载该软件.但是有些下载的url是做了转向的,比如:http://download.phpwind.net/index.php?m=download&a=do&did=511,这种url无法获知真实的文件名和扩展,无法做到后台自动下载,自动保存,在网上找了一下,没有
Java文件下载处理中文名(使用URLEncoder编码及空格变+解决)
解决转换空格  String fileName = StringUtils.trim(file.getName());  String formatFileName = encodingFileName(name);//在后面定义方法encodingFileName(String fileName);  response.setHeader("Content-Disposition", "a
Android 文件名含有空格/中文/特殊符号 导致网络下载失败
今天碰到一个bug,samba播放下,因为使用了httpserver和mediaplayer进行交互,有空格的文件竟然找不到,后来一check是要编码 Android 文件名含有空格/中文/特殊符号 导致网络下载失败 编码转化为UTF-8格式。 String path = Uri.decode(String path); 附上参考博客: http://blog.csdn.
Android 关于带有中文字样以及空格文件名的文件上传及下载
昨天闲来没事,做了一些文件的上传和下载,博主这里用的上传以及下载框架名为:xutils3,想必有些人也用过。当然,这个框架正常的上传和下载都是OK的,但是我发现,在遇到文件名带有中文字样和空格的文件的时候,就会出现错误如下: 这是我下载文件的时候框架抛出的错误。后来百度了一下,说是需要进行urlencode,但是你只能对中文字样的进行编码,不然还是错误我是这么做的: private static
怎样根据下载链接得到文件名(并非直接从链接中截取)
今天开发一个Android app遇到一个问题,需要根据下载链接得到下载的文件名称,有时候这个名称直接在链接中截取即可,但很多时候下载链接中并不包含文件名,比如 http://d.958shop.com/d/down.aspx?fid=2015091000004 ,后来试了很多方法,最后终于找到了正解,话不多说,上代码:(其中url为下载链接,filename即为文件名) Strin