我正在编写一个与我们公司的 iPad 应用程序完全相同的 Android 应用程序。但是我在 android 上开发时遇到了 1 个问题。该应用程序从网络服务器下载文件。它将调用如下 URL:
https://www.somedomain.com/API/Download.aspx?param1=test¶m2=test2等...
在 iPad 上这是完美的(我为此使用了 ASIHTTPRequest 类)。但在 Android 上,它给我的只是问题。
一旦我想用 android 下载文件,它就会下载一个带有 500 内部服务器错误 HTML 文档的文件,而不是 PDF 文件。
我检查了 URL,它们看起来与 iPad 上的完全一样。
我唯一能想象的是,用户下载的文件是“即时”创建的。因此需要一些时间(10 或 20 秒)来生成文件,然后下载文件。
在安卓上我这样做:
我有一个扩展类:
extends AsyncTask<String, Integer, JSONObject>
在一种方法中,我这样做:
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
InputStream data = response.getEntity().getContent();
File file = new File(context.getDir("docs", Context.MODE_PRIVATE), FileName);
OutputStream output = new FileOutputStream(file);
ByteStreams.copy(data, output);
Closeables.closeQuietly(output);
但这给了我一个 500 内部服务器错误文档,而不是所需的 PDF 文件。我在这里想念什么?(抱歉,我刚开始为 Android 开发,所以我不是这种情况下的专家 ;-))
提前致谢!