从Android设备下载时文件为空(size = 0) [英] The file is empty(size =0) when down load from android device

查看:372
本文介绍了从Android设备下载时文件为空(size = 0)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我在设备上下载文件时遇到大问题。

我的文件是从我的网站下载的Android设备为空(文件大小= 0),而我从我的计算机下载数据(文件大小> 0)。(我使用的是Chrome浏览器,以及java上的代码)。



我不知道为什么下载的是空文件?



帮我解决这个问题



提前致谢





  public   void  download(HttpServletResponse response,InputStream attachObj){
OutputStream os = response.getOutputStream();
BufferedInputStream bis = null;
尝试 {
response.setHeader( Pragma private);
response.setHeader( Cache-Control private);
response.setHeader( Expires - 1);
response.setContentType( application / octet-stream);
response.setHeader( Content-Disposition attachment; + filename * = utf-8'' + filename);
response.setHeader( Content-Length,filesize);
bis = new BufferedInputStream(attachObj);
int c;
while ((c = bis.read())!= - 1 ){
os.write(c);
}
}
最后 {
os.flush();
os.close();
bis.close();
}
}

解决方案

您可以使用此方法下载文件。





  public   void  downloadFile(HttpServletResponse response)抛出IOException 
{
byte [] bytes = getByte(); // 此处为您的网站价值
response.setHeader( 内容 附件,filename = FileName);
response.setContentLength(bytes.length);
response.setContentType( image / jpeg);

if (bytes.length> 0)
{
OutputStream outStream = response.getOutputStream();
outStream.write(bytes);
outStream.flush();
outStream.close();
}

}







更多Java解决方案,Javascript要 techwoodal [ ^ ]


Hi All,

I have a big problem when down load a file on device.
The my file was downloaded from my android device is empty(file size = 0) while I down load from my computer have data(file size > 0).(I am using Chrome browser, and code on java).

I don't know why the downloaded is empty file?

Help me resolve this

Thanks in advance


public void download(HttpServletResponse response, InputStream attachObj){
   OutputStream os = response.getOutputStream();
   BufferedInputStream bis = null;
   try{
       response.setHeader("Pragma", "private");
       response.setHeader("Cache-Control", "private");
       response.setHeader("Expires", "-1");
       response.setContentType("application/octet-stream");
       response.setHeader("Content-Disposition", "attachment;" + "filename*=utf-8''" + filename);
       response.setHeader("Content-Length", filesize);
       bis = new BufferedInputStream(attachObj);
       int c;
       while ((c = bis.read()) != -1) {
           os.write(c);
       }
   }
   finally {
       os.flush();
       os.close();
       bis.close();
   }
}

解决方案

YOU CAN USE THIS METHOD FOR DOWNLOAD FILE.


public void downloadFile(HttpServletResponse response) throws IOException
	{
	    byte[] bytes = getByte(); // HERE YOUR BITE VALUE
	    response.setHeader("Content","attachment",filename="FileName");
	    response.setContentLength(bytes.length);
	    response.setContentType("image/jpeg");

	    if(bytes.length>0)
	    {
	    	 OutputStream outStream = response.getOutputStream();
	 	    outStream.write(bytes);
	 	    outStream.flush();
	 	    outStream.close();
	    }

	}




For More Solution Of Java , Javascript To techwoodal[^]


这篇关于从Android设备下载时文件为空(size = 0)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆