去草料網
制作下需要掃碼下載下傳的 二維碼圖檔
- 加上自己的連接配接
- 上傳logo
将生成的二維碼用PS稍微美化下
- 加上想要的文字 一般圖檔大小 1000x1300
簽名打包ionic3項目
參考位址
背景伺服器項目書寫是下載下傳的代碼
- 将app的包放在資源目錄下
ionic3打包設定二維碼下載下傳頁 - 代碼
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();
}
}
}
}
}
将背景項目部署到二維碼網址的伺服器路徑
最後是測試,打開你的那個二維碼圖檔測試吧
至此大功告成(最喜歡換的一句話)。