Jua*_*uan 5 pdf android android-volley
我正在使用 volley 下载文件,但无法打开它,它显示:
无法显示 PDF(name.pdf 格式无效)
还要提到服务返回一个 11kb 字节 [] 和调试,我收到一个 16kb 响应。我正在使用的代码是:
InputStreamVolleyRequest request = new InputStreamVolleyRequest(Request.Method.POST, uri,
new Response.Listener<byte[]>() {
@Override
public void onResponse(byte[] response) {
try {
if (response!=null) {
if(Build.VERSION.SDK_INT>22){
requestPermissions(new String[] {"android.permission.WRITE_EXTERNAL_STORAGE","android.permission.READ_EXTERNAL_STORAGE"}, 1);
}
File baseDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
baseDir.mkdirs();
File carpeta = new File(baseDir + nombre_carpeta);
carpeta.mkdirs();
File file = new File(baseDir, documento.NombreFichero.replace("\\","/"));
try {
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));
bos.write(response);
bos.flush();
bos.close();
Log.d("NEWFILE", file.getAbsolutePath());
Toast.makeText(getActivity(), "Descarga completa.", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
} catch (Exception e) {
Log.d("KEY_ERROR", "UNABLE TO DOWNLOAD FILE");
e.printStackTrace();
}
}
} ,new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}, (HashMap<String, String>) params);
RequestQueue mRequestQueue = Volley.newRequestQueue(getActivity().getApplicationContext(), new HurlStack());
mRequestQueue.add(request);
Run Code Online (Sandbox Code Playgroud)
提前致谢!
Dan*_*ami -1
这不是一个编程问题。我建议在您的模拟器或设备中安装 pdf 阅读器 ( Google PDF Viewer )。
如果您使用模拟器,则可能需要使用已安装 Google Play 的版本。然后你就可以安装pdf阅读器了。
| 归档时间: |
|
| 查看次数: |
38939 次 |
| 最近记录: |