七牛上传ipa后自动生成plist文件
1、利用模板技术动态生成plist文件的内容:(模板内容和data替换为plist需要的内容)
//artTemplate
<script src="js/template.js" type="text/javascript" charset="utf-8"></script>
<script id="test" type="text/html">
<h1>{{title}}</h1>
<ul>
{{each list as value i}}
<li>索引 {{i + 1}} :{{value}}</li>
{{/each}}
</ul>
</script>
<script type="text/javascript">
var data = {
title: '标签',
list: ['文艺', '博客', '摄影', '电影', '民谣', '旅行', '吉他']
};
var html = template('test', data);
</script>
2、将得到的内容生成文件对象:
var blob = new Blob([html], {type: "text/plain"});
3、利用ajax上传到七牛云服务:
var Qiniu_UploadUrl = "http://up.qiniu.com";
var Qiniu_upload = function(f, token) {
var xhr = new XMLHttpRequest();
xhr.open('POST', Qiniu_UploadUrl, true);
var formData, startDate;
formData = new FormData();
formData.append('token', token);
formData.append('name', 'xucheng.plist');
formData.append('chunk', 0);
formData.append('chunks', 1);
formData.append('key', 'xucheng.plist');
formData.append('file', f,'xucheng.plist');
var taking;
xhr.upload.addEventListener("loadstart", function(up,file){
console.log('开始上传')
}, false);
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var nowDate = new Date().getTime();
taking = nowDate - startDate;
var x = (evt.loaded) / 1024;
var y = taking / 1000;
var uploadSpeed = (x / y);
var formatSpeed;
if (uploadSpeed > 1024) {
formatSpeed = (uploadSpeed / 1024).toFixed(2) + "Mb\/s";
} else {
formatSpeed = uploadSpeed.toFixed(2) + "Kb\/s";
}
console.log(formatSpeed)
}
}, false);
xhr.onreadystatechange = function(response) {
if (xhr.readyState == 4 && xhr.status == 200 && xhr.responseText != "") {
var blkRet = JSON.parse(xhr.responseText);
console.log("上传成功")
} else if (xhr.status != 200 && xhr.responseText) {
}
};
xhr.send(formData);
};
//去后台请求token
$.ajax({
type:"get",
url:"/appstore/app/qiniuUploadToken?params=xucheng.plist",
async:true,
dataType:"json",
success:function(data){
var token =data.uptoken;
console.log(token);
Qiniu_upload(blob, token);
}
});
4、plist文件样例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://123.103.9.205:443/mobem/portal/download?filename=/Default/portal_ios.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>https://123.103.9.205:443/mobem/portal/download?filename=/Default/portal_icon.png</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>https://123.103.9.205:443/mobem/portal/download?filename=/Default/portal_icon.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.YYJZPortal</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string></string>
<key>title</key>
<string>名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
七牛上传ipa后自动生成plist文件的更多相关文章
- iOS 客户端获取七牛上传token
一.官方参考文档: 1.上传策略http://developer.qiniu.com/article/developer/security/put-policy.html 2.上传凭证(即uptoke ...
- 七牛---以一个七牛上传的实例小结下AJAX跨域【转】
http://blog.csdn.net/netdxy/article/details/50699842 使用七牛过程中,很多用户或多或少遇到跨域的问题,这篇文章主要介绍下跨域的概念来看什么情况下会出 ...
- Django+七牛上传+查看+下载文件相关函数,新整理未完全测试
M class File(models.Model): # 文档模型 name = models.CharField(max_length=255) staff = models.ForeignKey ...
- ios invalid put policy encoding 七牛上传报错
获取七牛token的时候deadline不能为NSString类型 NSDictionary *infoDic = @{@"scope":@"yangtao", ...
- 七牛上传Qt版本
最近在找图床,写博客啥的需要.以前的图床好像挂了,搭在BAE上的图床也挂了,可能BAE3.0更新了吧. 花了点时间写了Qt版本 github地址:https://github.com/wzyuliya ...
- 上传项目的更改 info.plist文件
info.plistOpen AsSource As 添加<key>NSAppTransportSecurity</key> <dict> &l ...
- Makefile自动生成头文件依赖
前言 Makefile自动生成头文件依赖是很常用的功能,本文的目的是想尽量详细说明其中的原理和过程. Makefile模板 首先给出一个本人在小项目中常用的Makefile模板,支持自动生成头文件依赖 ...
- iOS 七牛云上传并获取图片----【客户端】
最近做了七牛云存储的有关内容,涉及到与后台交互获取验证的token,无奈,后台自命清高,不与理会,没办法呀,于是自己搞呗.首先呢在在七牛上注册一个账号,然后呢添加一个存储空间这时候空间名 ...
- Go --- 七牛云 上传文件 & Token demo
package main import ( "bytes" "crypto/hmac" "crypto/sha1" "encodi ...
随机推荐
- python连接mysql并插入数据(自用)
#coding=utf-8 import MySQLdb db = MySQLdb.connect("IP","用户名","密码",&quo ...
- gensim加载word2vec训练结果(bin文件)并进行相似度实验
# -*- coding: utf-8 -*- import gensim # 导入模型 model = gensim.models.KeyedVectors.load_word2vec_format ...
- 虚拟机oracle virtualbox 上安装centos6.5 网络设置
上篇文章写到,在虚拟机上安装centos6.5,结果依照文章非常顺利的安装了,可是用yum安装软件的时候.报错,源有问题,不能下载,然后ping一下摆渡.非常悲催 dns解析不了,cat /etc/r ...
- html5表单验证(Bootstrap)
html5表单验证(Bootstrap) 邮箱验证: <input name="email" type="text" placeholder=&quo ...
- mui 跨域请求
<ul class="mui-table-view" style="margin-top: 25px;"> <li class="m ...
- hdu 1348 Wall (凸包模板)
/* 题意: 求得n个点的凸包.然后求与凸包相距l的外圈的周长. 答案为n点的凸包周长加上半径为L的圆的周长 */ # include <stdio.h> # include <ma ...
- Linux Ubuntu 开机自动启动项设置方法 例:svn服务
在init.d目录建立一个脚本文件svnd.sh # cd /etc/init.d # vim svnd.sh 输入svnd.sh内容如下(/kaifa/svn 为svn仓库目录): #!/bin/b ...
- Tomcat中work目录的作用
今天在修改了某个jsp后发现:tomcat容器启动后,访问该jsp返回的结果依然是修改之前的内容,略感不解,于是乎研究了一下Tomcat中work目录的作用. Tomcat中work目录的作用: js ...
- python机器学习-逻辑回归
1.逻辑函数 假设数据集有n个独立的特征,x1到xn为样本的n个特征.常规的回归算法的目标是拟合出一个多项式函数,使得预测值与真实值的误差最小: 而我们希望这样的f(x)能够具有很好的逻辑判断性质,最 ...
- xcode7.1.1不能真机调试ios9.2系统设备的解决方法
转载自:http://www.cocoachina.com/bbs/read.php?tid-331335.html 前些天手机升级到iOS9.2版本号 xcode7.1还能真机測试. 昨晚更新xc ...