精华内容
下载资源
问答
  • Win7下载压缩文件后自动打开的问题.docx
  • <b>【github上下载zip文件遇见的问题】</b>压缩文件下载后打不开,提示文件已损坏或"系统找不到指定的设备”,换谷歌浏览器下载,这可能是QQ浏览器的bug。...

    <b>【github上下载zip文件遇见的问题】</b>

    压缩文件下载后打不开,提示文件已损坏或"系统找不到指定的设备”,换谷歌浏览器下载,这可能是QQ浏览器的bug。


    展开全文
  • NXPowerLite Desktop 是一款短小精悍且超级实用同时包含图片压缩、视频压缩以及电子邮件压缩于一体的综合型智能型文件压缩软件,能帮助用户一次性批量压缩最多10000个文档、图像、视频等格式,全面兼容PDF、...
  • java文件下载做apk安装包下载,当下载类型为.apk时,用手机谷歌浏览器下载完后点击打开不能直接启动安装,而是打开压缩文件管理。 uc浏览器可以正常,自带的谷歌不正常,解决方法为,在下载设置response的header中的...

    java文件下载做apk安装包下载,当下载类型为.apk时,用手机谷歌浏览器下载完后点击打开不能直接启动安装,而是打开压缩文件管理。

    uc浏览器可以正常,自带的谷歌不正常,解决方法为,在下载设置response的header中的Content-Type 为
    application/vnd.android.package-archive

    例如:

    	response.setHeader("content-type", "application/vnd.android.package-archive");
    
    展开全文
  • 方法一:使用第三方软件-文件全能王首先在微信上下载后点击用其他应用打开然后弹出下面界面,往右滑动,点击拷贝到文件全能王接着该软件会自动打开并载入要解压的文件,单击压缩文件在弹出的弹框中点击确定解压最后...

    前言

    最近遇到一个问题,同事微信发我一个后缀为zip的压缩文件,但点击下载后无法打开。

    而苹果手机也不像一些安卓手机自带压缩解压工具,那应该怎么办呢?

    方法一:使用第三方软件-文件全能王

    首先在微信上下载后点击用其他应用打开

    3de3f729b2c2078a00ced48f0462d093.png

    然后弹出下面界面,往右滑动,点击拷贝到文件全能王

    584fafe04697810ada95f0b326ec27c6.png

    接着该软件会自动打开并载入要解压的文件,单击压缩文件在弹出的弹框中点击确定解压

    7062944b78242c4627a7a35a02c89d2d.png

    最后解压成功后如下图

    31618f99d372221b4f110bd24b713360.png

    方法二:使用手机浏览器—以UC浏览器为例

    首先在微信上下载后点击用其他应用打开

    06ee34b12f55fa9cebfd166e7a57b2af.png

    然后弹出下面界面,往右滑动,点击拷贝到UC浏览器

    2c2f7c56361cce71f080f1683497a6f9.png

    在弹出的界面点击解压

    d23ccb419c2a4b110a63629c1be65992.png

    解压成功后如下图所示

    cb81a7ec73f4a758d1be628a49134839.png

    注: 以上2种方法对后缀为rar的压缩文件无效,会提示压缩失败或密码无效,

       目前我能想到的方法只有让对方发你后缀为zip的压缩文件,不要发后缀rar的

       如果有小伙伴有好的解决方法欢迎留言 

    展开全文
  • Java多文件压缩下载解决方案

    万次阅读 2018-09-07 18:00:33
    会员运营平台经过改版后页面增加了许多全部下载链接,上周上线比较仓促,全部下载是一个直接下载ZIP压缩文件的链接,每个ZIP压缩文件都是由公司运营人员将页面需要下载文件全部压缩成一个ZIP压缩文件,然后通过...

    Java多文件压缩下载解决方案

    需求:

    会员运营平台经过改版后页面增加了许多全部下载链接,上周上线比较仓促,全部下载是一个直接下载ZIP压缩文件的链接,每个ZIP压缩文件都是由公司运营人员将页面需要下载的文件全部压缩成一个ZIP压缩文件,然后通过公司的交易运营平台上传至文件资料系统,会员运营平台则可以直接获取ZIP压缩文件地址进行下载

    下面是一个页面示例:

    需求分析:

    通过上面需求和页面可以分析出,公司运营人员将页面全部需要下载的文件进行ZIP压缩后上传文件资料系统确实是一个紧急的解决方案,但是考虑到后面需求变更,页面需要下载的文件也会跟着变更,每次变更需求,公司运营人员都需要重新进行压缩文件,程序也需要进行相应的修改,这样对于程序的维护性不友好,站在使用系统的客户角度,每次都需要重新上传,因此临时解决方案不再符合软件的良好扩展性和操作方便,因此才有了对页面需要全部下载的文件使用程序压缩处理并下载。

     

    解决思路:

    第一步:前端传递Ids字符串

    由于会员运营系统显示需要下载的文件是资料系统中的每条文件记录的Id,因此前端页面只需要将需要下载的所有文件Ids字符串(比如:'12,13,14')传递到后台即可.

    第二步:后台处理

    首先获取到前端传递的ids字符串,将其转换为Integer[]的ids数组,然后调用文件资料微服务根据id列表查询对应的文件记录(包含文件类型和文件地址路径等信息),获取到所有需要下载的文件路径后压缩成ZIP格式的文件进行下载。

     

    具体实现压缩下载方案:

    第一种:先压缩成ZIP格式文件,再下载

    第二种:边压缩ZIP格式文件边下载(直接输出ZIP流)

     

    前端具体实现代码:

    由于全部下载是一个a链接标签,于是使用Ajax异步下载,后来功能实现后点击下载一点反应都没有,一度怀疑是后台出错,但是后台始终没有报错,在网上看了一下Ajax异步不能下载文件(也就是Ajax不支持流类型数据),具体原因可以百度https://blog.csdn.net/qq_16877261/article/details/54376430这篇博客,解释的还算是比较好的。后面会写一篇=文章详细分析Ajax异步下载解决方案。

    接下来考虑使用form表单标签实现,最终配合使用input标签实现了前端传递ids列表的问题,点击a链接标签触发提交form标签即可。

    在每一个需要下载的文件增加一个隐藏的input标签,value值是这个文件的id值

    具体点击a链接标签提交表单的JS代码:

     

    后端具体实现代码:

    第一种方案实现:

    第二种方案实现:

    附上完整代码:

    压缩下载Controller

    package com.huajin.jgoms.controller.user;
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.List;
    import java.util.Objects;
    import java.util.stream.Collectors;
    
    import javax.servlet.http.HttpServletResponse;
    
    import org.apache.commons.collections.CollectionUtils;
    import org.apache.commons.lang3.ObjectUtils;
    import org.apache.commons.lang3.StringUtils;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import com.huajin.baymax.logger.XMsgError;
    import com.huajin.baymax.logger.Xlogger;
    import com.huajin.common.util.UUIDUtil;
    import com.huajin.exchange.domain.sys.FeFileCenter;
    import com.huajin.exchange.enums.sys.SysParamKey;
    import com.huajin.exchange.po.sys.SysParamPo;
    import com.huajin.jgoms.controller.HjBaseController;
    import com.huajin.jgoms.service.FeFileCenterService;
    import com.huajin.jgoms.service.SysParamService;
    import com.huajin.jgoms.util.CompressDownloadUtil;
    
    /**
     * 压缩下载文件
     *
     * @author hongwei.lian
     * @date 2018年9月6日 下午6:29:05
     */
    @Controller
    @RequestMapping("/compressdownload")
    public class CompressDownloadController extends HjBaseController {
    	
    	@Autowired
    	private FeFileCenterService feFileCenterService;
    	
    	@Autowired
    	private SysParamService sysParamService;
    
    	/**
    	 * 多文件压缩下载
    	 * 
    	 * @author hongwei.lian
    	 * @date 2018年9月6日 下午6:28:56
    	 */
    	@RequestMapping("/downloadallfiles")
    	public void downloadallfiles() {
    		//-- 1、根据ids查询下载的文件地址列表
    		String ids = request().getParameter("ids");
    		if (StringUtils.isEmpty(ids)) {
    			return ;
    		}
    		//-- 将字符串数组改变为整型数组
    		Integer[] idsInteger = CompressDownloadUtil.toIntegerArray(ids);
    		List<FeFileCenter> fileCenters = feFileCenterService.getFeFileByIds(super.getExchangeId(), idsInteger);
    		if (CollectionUtils.isNotEmpty(fileCenters) && ObjectUtils.notEqual(idsInteger.length, fileCenters.size())) {
    			//-- 要下载文件Id数组个数和返回的文件地址个数不一致
    			return ;
    		}
    		
    		//-- 2、转换成文件列表
    		List<File> files = this.toFileList(fileCenters);
    		//-- 检查需要下载多文件列表中文件路径是否都存在
    		for (File file : files) {
    			if (!file.exists()) {
    				//-- 需要下载的文件中存在不存在地址
    				return ;
    			}
    		}
    		
    		//-- 3、响应头的设置
    		String downloadName = UUIDUtil.getUUID() + ".zip";
    		HttpServletResponse response = CompressDownloadUtil.setDownloadResponse(super.response(), downloadName);
    		
    		//-- 4、第一种方案:
    		//-- 指定ZIP压缩包路径
    //		String zipFilePath = this.setZipFilePath(downloadName);
    //		try {
    //			//-- 将多个文件压缩到指定路径下
    //			CompressDownloadUtil.compressZip(files, new FileOutputStream(zipFilePath));
    //			//-- 下载压缩包
    //			CompressDownloadUtil.downloadFile(response.getOutputStream(), zipFilePath);
    //			//-- 删除临时生成的ZIP文件
    //			CompressDownloadUtil.deleteFile(zipFilePath);
    //		} catch (IOException e) {
    //			Xlogger.error(XMsgError.buildSimple(CompressDownloadUtil.class.getName(), "downloadallfiles", e));
    //		}
    		
    		//-- 5、第二种方案:
    	   try {
    		    //-- 将多个文件压缩写进响应的输出流
    			CompressDownloadUtil.compressZip(files, response.getOutputStream());
    		} catch (IOException e) {
    			Xlogger.error(XMsgError.buildSimple(CompressDownloadUtil.class.getName(), "downloadallfiles", e));
    		}
    		
    	}
    
    	/**
    	 * 设置临时生成的ZIP文件路径
    	 *
    	 * @param fileName
    	 * @return 
    	 * @author hongwei.lian
    	 * @date 2018年9月7日 下午3:54:13
    	 */
    	private String setZipFilePath(String fileName) {
    		String zipPath = sysParamService.getCompressDownloadFilePath();
    		File zipPathFile = new File(zipPath);
    		if (!zipPathFile.exists()) {
    			zipPathFile.mkdirs();
    		}
    		return zipPath + File.separator + fileName;
    	}
    
    	/**
    	 * 将fileCenters列表转换为File列表
    	 *
    	 * @param fileCenters
    	 * @return 
    	 * @author hongwei.lian
    	 * @date 2018年9月6日 下午6:54:16
    	 */
    	private List<File> toFileList(List<FeFileCenter> fileCenters) {
    		return fileCenters.stream()
                                         .map(feFileCenter -> {
                                        	 //-- 获取每个文件的路径
                                        	 String filePath = this.getSysFilePath(feFileCenter.getFileTypeId());
                                             return new File(filePath + feFileCenter.fileLink());})
                                         .collect(Collectors.toList());
    	}
    	
    	/**
    	 * 获取文件类型对应存储路径
    	 *
    	 * @param fileTypeId
    	 * @return 
    	 * @author hongwei.lian
    	 * @date 2018年9月5日 下午2:01:53
    	 */
    	private String getSysFilePath(Integer fileTypeId){
    		SysParamPo sysmParam = sysParamService.getByParamKey(SysParamKey.FC_UPLOAD_ADDRESS.value);
    		String filePath = Objects.nonNull(sysmParam) ? sysmParam.getParamValue() : "";
    		return filePath + fileTypeId + File.separator;
    	}
    
    }

    压缩下载工具类

    package com.huajin.jgoms.util;
    
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.Arrays;
    import java.util.List;
    import java.util.Objects;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    import javax.servlet.http.HttpServletResponse;
    
    import com.huajin.baymax.logger.XMsgError;
    import com.huajin.baymax.logger.Xlogger;
    
    /**
     * 压缩下载工具类
     *
     * @author hongwei.lian
     * @date 2018年9月6日 下午6:34:56
     */
    public class CompressDownloadUtil {
    	
    	private CompressDownloadUtil() {}
    	
    	/**
    	 * 设置下载响应头
    	 *
    	 * @param response
    	 * @return 
    	 * @author hongwei.lian
    	 * @date 2018年9月7日 下午3:01:59
    	 */
    	public static HttpServletResponse setDownloadResponse(HttpServletResponse response, String downloadName) {
    		response.reset();
    		response.setCharacterEncoding("utf-8");
    		response.setContentType("application/octet-stream");
    		response.setHeader("Content-Disposition", "attachment;fileName*=UTF-8''"+ downloadName);
    		return response;
    	}
    	
    	/**
    	 * 字符串转换为整型数组
    	 *
    	 * @param param
    	 * @return 
    	 * @author hongwei.lian
    	 * @date 2018年9月6日 下午6:38:39
    	 */
    	public static Integer[] toIntegerArray(String param) {
    		return Arrays.stream(param.split(","))
                                  .map(Integer::valueOf)
                                  .toArray(Integer[]::new);
    	}
    	
    	/**
    	 * 将多个文件压缩到指定输出流中
    	 *
    	 * @param files 需要压缩的文件列表
    	 * @param outputStream  压缩到指定的输出流
    	 * @author hongwei.lian
    	 * @date 2018年9月7日 下午3:11:59
    	 */
    	public static void compressZip(List<File> files, OutputStream outputStream) {
    		ZipOutputStream zipOutStream = null;
    		try {
    			//-- 包装成ZIP格式输出流
    			zipOutStream = new ZipOutputStream(new BufferedOutputStream(outputStream));
    			// -- 设置压缩方法
    			zipOutStream.setMethod(ZipOutputStream.DEFLATED);
    			//-- 将多文件循环写入压缩包
    			for (int i = 0; i < files.size(); i++) {
    				File file = files.get(i);
    				FileInputStream filenputStream = new FileInputStream(file);
    				byte[] data = new byte[(int) file.length()];
    				filenputStream.read(data);
    				//-- 添加ZipEntry,并ZipEntry中写入文件流,这里,加上i是防止要下载的文件有重名的导致下载失败
    				zipOutStream.putNextEntry(new ZipEntry(i + file.getName()));
    				zipOutStream.write(data);
    				filenputStream.close();
    				zipOutStream.closeEntry();
    			}
    		} catch (IOException e) {
    			Xlogger.error(XMsgError.buildSimple(CompressDownloadUtil.class.getName(), "downloadallfiles", e));
    		}  finally {
    			try {
    				if (Objects.nonNull(zipOutStream)) {
    					zipOutStream.flush();
    					zipOutStream.close();
    				}
    				if (Objects.nonNull(outputStream)) {
    					outputStream.close();
    				}
    			} catch (IOException e) {
    				Xlogger.error(XMsgError.buildSimple(CompressDownloadUtil.class.getName(), "downloadallfiles", e));
    			}
    		}
    	}
    	
    	/**
    	 * 下载文件
    	 *
    	 * @param outputStream 下载输出流
    	 * @param zipFilePath 需要下载文件的路径
    	 * @author hongwei.lian
    	 * @date 2018年9月7日 下午3:27:08
    	 */
    	public static void downloadFile(OutputStream outputStream, String zipFilePath) {
    		File zipFile = new File(zipFilePath);
    		if (!zipFile.exists()) {
    			//-- 需要下载压塑包文件不存在
    			return ;
    		}
    		FileInputStream inputStream = null;
    		try {
    			inputStream = new FileInputStream(zipFile);
    			byte[] data = new byte[(int) zipFile.length()];
    			inputStream.read(data);
    			outputStream.write(data);
    			outputStream.flush();
    		} catch (IOException e) {
    			Xlogger.error(XMsgError.buildSimple(CompressDownloadUtil.class.getName(), "downloadZip", e));
    		} finally {
    			try {
    				if (Objects.nonNull(inputStream)) {
    					inputStream.close();
    				}
    				if (Objects.nonNull(outputStream)) {
    					outputStream.close();
    				}
    			} catch (IOException e) {
    				Xlogger.error(XMsgError.buildSimple(CompressDownloadUtil.class.getName(), "downloadZip", e));
    			}
    		}
    	}
    	
    	/**
    	 * 删除指定路径的文件
    	 *
    	 * @param filepath 
    	 * @author hongwei.lian
    	 * @date 2018年9月7日 下午3:44:53
    	 */
    	public static void deleteFile(String filepath) {
    		File file = new File(filepath);
    		deleteFile(file);
    	}
    	
    	/**
    	 * 删除指定文件
    	 *
    	 * @param file 
    	 * @author hongwei.lian
    	 * @date 2018年9月7日 下午3:45:58
    	 */
    	public static void deleteFile(File file) {
    		//-- 路径为文件且不为空则进行删除  
    	    if (file.isFile() && file.exists()) {  
    	        file.delete();  
    	    } 
    	}
    
    }
    

    测试

    通过交易运营平台上传测试资料

    登录会员运营平台进行下载

    下载下来的ZIP格式为文件

    解压后,打开文件是否可用:

     

    总结:

    这个过程中出现了很多问题,后面会有文章逐步分析出错和解决方案。

    上述两种方案都行,但是为了响应速度更快,可以省略压缩成ZIP的临时文件的时间,因此采用了第二种解决方案。

     

    展开全文
  • PAQ是世界上压缩比最高的压缩算法,其性能远超WinUPX、7z、rar等高压缩比格式...FastPAQ是由c++开发的开源软件,它在paq算法原有的压缩比上加快其速度,使其具有更强的用户体验感。它可以用来打开或创建fp8格式的文件
  • linux内核分析及编程(倪继利),zip文件part2 (可直接用一般压缩软件打开),因为文件太大40M,同时CSDN附件的限制,所以用文件分割器分割成4部分,大家可以下载庖丁解牛软件http://download.csdn.net/source/2371298...
  • linux内核分析及编程(倪继利),zip文件part3 (可直接用一般压缩软件打开),因为文件太大40M,同时CSDN附件的限制,所以用文件分割器分割成4部分,大家可以下载庖丁解牛软件http://download.csdn.net/source/2371298...
  • 视频压缩软件如何下载

    千次阅读 2019-04-12 16:56:38
    视频是一种能够比较直观和生动的表达内容的文件,可以形象的将想要表达的东西展现给观看者,我们要将视频展现给观看者,传到电脑上的视频就不能过大,这样传输的速度会很慢,为了方便我们可以先把视频进行压缩,当然...
  • java post下载文件 zip批量压缩文件

    千次阅读 2018-05-16 14:21:25
    文章借鉴:https://blog.csdn.net/zhangzeyuaaa/article/details/52823238用post请求生成from表单提交请求下载了一下前台代码: // post下载,构建from表单以post方式下载   $("#downloadform")....
  • 360zip+fg3in1 压缩软件可以打开
  • linux内核分析及编程(倪继利),zip文件(可直接用一般压缩软件打开),因为文件太大40M,同时CSDN附件的限制,所以用文件分割器分割成4部分,大家可以下载庖丁解牛软件http://download.csdn.net/source/2371298,进行...
  • 1 压缩文件 tar -czvf 压缩后文件名.tar.gz(含路径) 要压缩的文件名(含路径) ...2 下载压缩后的文件 sz 压缩后文件名.tar.gz(含路径) 上传下载命令及配置见http://my.codeweblog.com/u/617085/blo
  • 下载pdf压缩软件到电脑中; 安装好之后打开使用,先选择格式:pdf压缩; 选择好格式之后添加文件,单击添加文件/文件夹按钮,找到文件添加就行; 添加好文件之后设置文件的保存路
  • 推荐 OS X 下最方便实用的六款解压缩软件

    万次阅读 多人点赞 2019-06-19 09:50:36
    对于我们这种资料特别多,随时都需要跟工作伙伴沟通传递资料的人来说,一款方便的压缩软件真的太重要了,不仅可以节省时间,节省内存,更重要的是提高工作效率,今天废鱼就给大家推荐几款常用压缩软件。 The ...
  • 原生api压缩文件后,有些软件打开压缩包,里面的压缩文件的会有中文文件名乱码问题, 比如winrar软件,但是一些国产软件没问题。 具体原因还没深入了解,后面再补充 大家可以通过apache 官网,h
  • .img文件怎么打开(解压缩

    千次阅读 2020-11-15 15:12:48
    4、接着进入到压缩软件的界面,此时可以看到里边的文件,点击软件界面的解压到选项。 5、接着选择解压的文件路径,默认是同一个文件夹目录下,点击确定选项即可。 6、接着回到img文件的同一个文件目录下,可以看到...
  • 在使用电脑的过程中,难免会遇到压缩文件打不开的情况,如果双击鼠标打不开的话,那么就说明用户的电脑还没有安装解压缩软件,小编整理具体的解决方法给大家。具体方法如下:1、首先查看一下是否下载了解压软件,...
  • WINRAR压缩软件

    2019-01-21 14:07:03
    实战:如果同时安装了某款压缩软件与 这款软件,ZIP 文件的关联经常发生混乱,现在我们只需进入设置窗口,选“综合”标签,将“ WinRAR 关联文件”一栏中的 ZIP 一项打勾,确定后就可使 ZIP 文件与它关联,反之如果...
  • 今天接收了同事发过来的一个压缩文件,用360压缩打开和用WinRAR打开压缩文件,傻眼了,这发的是什么鬼压缩包。压缩包的文件大小有27533KB,用360压缩工具解压查看只有121.5kb,而且完全没有显示出来压缩文件的真实...
  • flash压缩文件

    2018-11-30 11:41:36
    需要打开视频资源文件的可以下载看看,很好的文件
  • 我们是直接调取接口,返回blob数据,然后问题就来了 下载的excl打开是乱码, 下载的zip压缩文件无法解压 经过漫长的调试之后,此处省略一万个字,发现原来是请求的时候忘记设置responseType 了 导致数据格式有误,...
  • 很多萌新不会用百度云和手机打开压缩包文件。直接在百度云里面点开了在线的压缩包,这样一是要钱,二是会让资源失效,不推荐。百度云是国内应用最广的云存储工具,很多资源都是通过百度云盘分享出来的,电影电视剧类...
  • 它能备份你的数据,减少你的 E-mail 附件的大小,解压缩从 Internet 上下载的 RAR、ZIP 和其他格式的压缩文件,并能创建 RAR 和 ZIP 格式的压缩文件。 WinRAR X 下载链接,复制到浏览器打开,高速下载,跑满宽带。
  • win10系统下载文件、解压缩文件文件名称乱码的问题 最近电脑文件名总是出现乱码,最终找到了解决方案如下,按照下面图片操作解决了问题: 1.打开window设置 2.选择区域,然后点击相关设置 3.点击区域,然后点击...
  • 针对WINZIP压缩文件,黑客最常使用的工具就是Elcomsoft公司的“Advanced ZIP Password Recovery”(简称AZPR),AZPR提供了一个图形化的用户界面,黑客经过几个简单的步骤就可以破解ZIP压缩文件包的密...
  • 文章目录一、将文件从windows操作系统上传到centos二、centos系统文件下载到windows操作系统三、centos系统的文件压缩与解压缩 一、将文件从windows操作系统上传到centos 在centos中有这么一款工具名称为:lrzsz,...
  • 本人下载Xftp5,使用过程中因改变其参数导致压缩文件不能正常上传下载,现贴出解决办法。 第一步: 第二步: 打开属性 第三步: 更改传输选项中的迁移类型为binary二进制,使用UTF-8编码
  • ”或者点击帮助,可以执行在新窗口打开pdf文件,同时执行打包下载; 也是在网上各种查找,也参考了很多方法;诸多的就是借用jar包; 这也是一种很有效的方法,下面就贴出自己执行打包下载的方式 首先观看前端代码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,782
精华内容 88,312
关键字:

下载的压缩软件怎么打开