Android:虚拟机无法从网站下载文件

时间:2011-11-14 04:17:43

标签: android

我编写了一个应用程序,用于从给定的url路径下载 .PDF 文件。 但是当我在虚拟机中运行它时,我发现我的应用程序无法下载该文件。 所以我在vm中尝试了 DownloadManager ,但仍无法下载该文件。 并且DownloadManage停止了并且始终显示“ OnGoing ”。 谁能告诉我原因以及如何解决这个问题? 提前致谢! PS:我写这个

public File writeFileToSDCard(String path,String fileName,InputStream in){
    File file = null;
    OutputStream out = null;
    try{
        if(!createDir(path)){
            Log.e("FileUtils.java", "writeFileToSDCard().createDir() failed!");
        }else{
            Log.e("FileUtils.java", "writeFileToSDCard().createDir() Successed!");
        }
        file = createFile(path+fileName);
        out = new FileOutputStream(file);
        byte buffer[] = new byte[128];
        //write the file
        do{
            int length = in.read(buffer);
            if(length != -1){
                Log.e("FileUtils.java", "Writing to card!");
                out.write(buffer, 0, length);
            }else{
                break;
            }
        }while(true);
    }catch(Exception e){
        Log.e("FileUtils.java", "writeFileToSDCard() failed!");
    }finally {
        try{
            out.close();
        }catch (Exception e) {
            Log.e("FileUtils.java", "writeFileToSDCard() finally failed!");
        }
    }
    return file;
}

* PSS: *我不认为我的代码出错了,但这是android模拟器的问题吗?

1 个答案:

答案 0 :(得分:0)

很可能是因为您无权从服务器下载文件。

几天前我遇到了类似的问题,我通过在服务器目录中创建 .htacces 文件解决了这个问题。创建一个名为 .htacess 的文件,其中包含以下内容:

satisfy any

并将其保存在pdf文件所在的目录中。我不熟悉它是如何工作的,但我想它与权限有关。请注意,如果您这样做,任何人都可以访问该目录的内容。我相信这只会推动Apache服务器。

不知道它是否会起作用,但值得一试。