ionic3打包设置二维码下载页

简介: ionic3打包设置二维码下载页

去草料网


制作下需要扫码下载的 二维码图片


加上自己的连接


上传logo


将生成的二维码用PS稍微美化下


加上想要的文字 一般图片大小 1000x1300


签名打包ionic3项目


参考地址


后台服务器项目书写是下载的代码


将app的包放在资源目录下

1dc618a0ed9580ce8bfa6facb208c08f.png

代码

package com.bjtcrj.gms.resource.controller;
import org.apache.commons.io.IOUtils;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
@Controller
@RequestMapping({ "/app" })
public class UploadAppController {
    @Resource
    private ResourceLoader resourceLoader;
    @RequestMapping(value = "/downapp",method = RequestMethod.GET)
    public void downloadFile(HttpServletRequest request, HttpServletResponse response, String type) throws IOException {
        String fileName = "wanggeApp.apk";
        String showName = "智慧网格.apk";
        if ("ios".equalsIgnoreCase(type)) {
            fileName = "wanggeApp.ipa";
            showName = "智慧网格.ipa";
        }
        if (fileName != null) {
            InputStream inputStream = null;
            ServletOutputStream servletOutputStream = null;
            String encodeName = URLEncoder.encode(showName, StandardCharsets.UTF_8.toString());
            try {
                String filePath = File.separator + "appload" + File.separator + fileName;
                org.springframework.core.io.Resource resource = resourceLoader.getResource("classpath:" + filePath);
                response.setContentType("application/force-download");
                response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
                response.addHeader("charset", "utf-8");
                response.addHeader("Pragma", "no-cache");
                response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + encodeName);
//                response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeName + "\"; filename*=utf-8''" + encodeName);
                inputStream = resource.getInputStream();
                servletOutputStream = response.getOutputStream();
                IOUtils.copy(inputStream, servletOutputStream);
                response.flushBuffer();
            } catch (Exception e) {
                System.out.println("应用已暂停下载! ---------------- "+fileName);
                response.setHeader("Content-Disposition", "attachment; filename*=utf-8''" + encodeName);
                response.flushBuffer();
//                String data = "应用已暂停下载!";
//                OutputStream outputStream = response.getOutputStream();
//                response.setHeader("content-type", "text/html;charset=UTF-8");
//                byte[] dataByteArr = data.getBytes("UTF-8");
//                outputStream.write(dataByteArr);
            } finally {
                try {
                    if (inputStream != null) {
                        inputStream.close();
                        inputStream = null;
                    }
                    if (servletOutputStream != null) {
                        try {
                            servletOutputStream.close();
                        }catch (Exception e){
                        }
                        servletOutputStream = null;
                    }
                    // 召唤jvm的垃圾回收器
                    System.gc();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}


将后台项目部署到二维码网址的服务器路径

最后是测试,打开你的那个二维码图片测试吧


相关文章
|
前端开发
ionic3二维码功能(生成二维码)
生成二维码 方法一:qrcanvas(支持中文) 1. 安装依赖: npm i qrcanvas --save 2. 新建一个组件Component,通过这个组件来提供生成二维码的能力 ionic g component qrcode 3.
2451 0
|
Android开发
ionic3项目实战教程 - 第13讲 ionic3社交分享(QQ分享和微信分享)
ionic3项目实战教程 - 第13讲 ionic3社交分享(QQ分享和微信分享) 图片发自简书App 这一讲主要包含以下几个部分: 1.在微信开放平台创建应用获得wechatappid; 2.
1404 0
|
Android开发 iOS开发
ionic3项目实战教程 - 第12讲 ionic3制作icon和splash
这一讲主要包含以下几个部分: 1.设计icon; 2.设计splash; 3.生成各个平台各个尺寸的icon和splash; 1.设计icon 来,打开你的PS,新建-文件,像素为1024*1024,背景透明,确定; .
1168 0
|
Web App开发
ionic3项目实战教程 - 第11讲 ionic3个人中心界面设计
ionic3项目实战教程 - 第11讲 ionic3个人中心界面设计 这一讲主要包含一下几个部分: 1.个人中心ts具体代码展示; 2.个人中心html具体代码展示; 3.
1365 0
ionic3项目实战教程 - 第10讲 ionic3分类菜单设计(类似外卖)
注意,干货来了,相比前面几讲这一讲就要难以消化多了,请做好心理准备。 因为在这之前,经常看到有群友在求这种分类菜单的组建,今天我就为大家再造一个轮子 [微笑脸]。
1086 0
|
Web App开发
ionic3项目实战教程 - 第8讲 ionic3商品详情页的实现
这一讲主要包含以下几个部分: 1.创建商品详情页 2.获取商品详情页的数据 3.展示商品详情页的数据 1.创建商品详情页 执行 ionic g page product-details 8-1.
1061 0
|
Web App开发
ionic3项目实战教程 - 第9讲 ionic3应用内主题浏览器ThemeableBrowser的使用
这一讲主要实现商品的"抢购"功能 1.安装ThemeableBrowser插件; 2.使用ThemeableBrowser插件; 1.安装插件 分别执行以下命令: ionic cordova plugin add cordova-plugin-t...
1435 0
ionic3项目实战教程 - 第7讲 ionic3商品列表页的实现
这一讲主要包含以下几个部分: 1.创建商品列表页 2.根据分类获取商品列表 2.展示商品列表 1.创建商品列表页 执行 ionic g page product-list 7-1.
870 0
ionic3项目实战教程 - 第5讲 ionic3商城首页透明导航栏设计
这一讲主要包含以下几个部分 1.配置APP主色调; 2.设置ion-content组建的fullscreen属性; 3.设计透明导航栏 配置APP主色调; 找到src/theme/variables.
1330 0
|
Go
ionic3项目实战教程 - 第4讲 ionic3商城首页设计(幻灯片+图标分类)
商城首页主要包含以下几个部分 1.使用ion-slide实现首页幻灯片; 2.使用ion-grid实现商品分类; 3.使用ion-list实现商品列表; 说一下实现思路 1.先获取网络请求的数据,查看数据结构; 2.根据数据结构来判断需要展示的数据,编写html; 3.调整界面样式,编写scss; 准备工作 开始之前请到阿里开源图标库准备首页需要的小图标,不想自己找的同学,在文章最后的交流群的群文件里有导出好的资源小图标,下载后直接放到项目的src/assets/icon/目录中即可。
1124 0