小程序下载mp4文件保存到相册失败

最近在做一个小程序 这个小程序有一个下载mp4文件的功能

但是在保存到图册的时候 出现错误提示 saveVideoToPhotosAlbum:fail invalid file type

下载接口

我写了一个接口 以供下载文件 通过流的形式 将文件字节输出给客户端 代码如下

    # response对象是 HttpServletResponse类

    FileInputStream fileInputStream = null;
    ServletOutputStream outputStream = null;
    try {
        //文件输入流
        fileInputStream = new FileInputStream(file);
        //HttpServletResponse 输出流
        outputStream = response.getOutputStream();
        //构建下载文件的文件名
        String disposition = "attachment;filename=" + outFileName;
        response.addHeader("Content-disposition", disposition);
        //边读 边写到输出流
        byte by[] = new byte[1024];
        int len = -1;
        while ((fileInputStream.read(by)) != -1) {
            outputStream.write(by, 0, len);
        }

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (fileInputStream != null) fileInputStream.close();
        if (outputStream != null) outputStream.close();
    }

    //这个写法  文件是可以正常下载的  包括浏览器 下载工具 都是可以正常下载的 
    //但是到了小程序里面 调用saveVideoToPhotosAlbum保存视频的时候  就会提示错误信息 saveVideoToPhotosAlbum:fail invalid file type
    //解决方案是  加入一个响应头 Content-Type:video/mp4

修改接口

    FileInputStream fileInputStream = null;
    ServletOutputStream outputStream = null;
    try {
        //文件输入流
        fileInputStream = new FileInputStream(file);
        //Respone 输出流
        outputStream = response.getOutputStream();
        //构建下载文件的文件名
        String disposition = "attachment;filename=" + outFileName;
        response.addHeader("Content-disposition", disposition);
        //告知客户端  这是一个视频
        response.setContentType("video/mp4");
        //边读 边写到输出流
        byte by[] = new byte[1024];
        int len = -1;
        while ((fileInputStream.read(by)) != -1) {
            outputStream.write(by, 0, len);
        }

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (fileInputStream != null) fileInputStream.close();
        if (outputStream != null) outputStream.close();
    }
    
    #问题解决~
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容