这可能看起来很奇怪,但是当我从我的 AsyncTask 下载 pdf 时,似乎受到保护,无法复制或编辑。我可以很好地打开。同样的文件,当我从浏览器下载时没有限制。怎么了?
这是我的问题的基础,我真正的问题是许多android pdf的阅读器无法打开文件。
我的下载代码:
我正在使用以下代码下载 PDF 文件:
class DownloadFileAsync extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
showDialog(DIALOG_DOWNLOAD_PROGRESS);
}
@SuppressLint({ "SdCardPath", "SdCardPath" })
@Override
protected String doInBackground(String... aurl) {
int count;
try {
URL url = new URL(aurl[0]);
URLConnection conexion = url.openConnection();
conexion.connect();
int lenghtOfFile = conexion.getContentLength();
Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream("/sdcard/Download/prueba.pdf");
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
publishProgress(""+(int)((total*100)/lenghtOfFile));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {}
return null;
}
protected void onProgressUpdate(String... progress) {
Log.d("ANDRO_ASYNC",progress[0]);
mProgressDialog.setProgress(Integer.parseInt(progress[0]));
}
@Override
protected void onPostExecute(String unused) {
dismissDialog(DIALOG_DOWNLOAD_PROGRESS);
operationsWithSD();
}
}
我将文件传输回桌面(通过电子邮件),但我也无法在那里打开它。我刚刚发现,当我用 Adobe Reader 打开它时,我会得到一个“受保护”标签。我要疯了吗?
从我的应用程序下载并从我的计算机打开的 pdf 的图像
请帮助我,并提前感谢。