Android 安卓:虚拟机无法从网站下载文件
我已经编写了一个应用程序,可以从给定的url路径下载.PDF文件。 但是当我在虚拟机中运行它时,我发现我的应用程序无法下载该文件。 因此,我在虚拟机中尝试了下载管理器,但它仍然无法下载文件。 下载管理停止,只是始终显示“正在进行”。 谁能告诉我这个问题的原因和解决方法吗? 提前谢谢! PS:我写了这个Android 安卓:虚拟机无法从网站下载文件,android,Android,我已经编写了一个应用程序,可以从给定的url路径下载.PDF文件。 但是当我在虚拟机中运行它时,我发现我的应用程序无法下载该文件。 因此,我在虚拟机中尝试了下载管理器,但它仍然无法下载文件。 下载管理停止,只是始终显示“正在进行”。 谁能告诉我这个问题的原因和解决方法吗? 提前谢谢! PS:我写了这个 public File writeFileToSDCard(String path,String fileName,InputStream in){ File file = null;
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 emulator的问题吗?很可能是因为您没有从服务器下载文件的权限 几天前我遇到了一个类似的问题,我通过在服务器目录中创建一个.htacces文件解决了这个问题。创建一个名为.htacess的文件,其中包含以下内容:
satisfy any
并将其保存在pdf文件所在的目录中。我不熟悉这是如何工作的,但我想这与权限有关。请注意,如果您这样做,任何人都可以访问该目录的内容。我相信这只适用于Apache服务器
不知道它是否有效,但值得一试。请发布您的下载代码和您试图下载的文件的url。所谓vm,您是指android emulator吗?你试过从实际设备下载文件吗?@Zhao你试过从实际设备下载文件吗?@Aki nope。这是因为模拟器无法从web下载文件吗?谢谢你的回答。但是PDF文件位于网站中,我无法编写.htacess文件并将其放入its服务器。谢谢:-)