Hbuilder开发app实战-识岁03-文件上传
前言
做app不得不谈的问题就是文件上传。用hbuilder开发app让上传变的非常easy。
Uploader
Uploader模块管理网络上传任务,用于从本地上传各种文件到server,并支持跨域訪问操作。
通过plus.uploader可获取上传管理对象。
Uploader上传使用HTTP的POST方式提交数据,数据格式符合Multipart/form-data规范。即rfc1867(Form-based File Upload in HTML)协议。
很多其它内容:Uploader
代码
qiao.h.upload = function(options){
if(!options) return;
var url = options.url;
var filepath = options.filepath;
var datas = options.datas || [];
var success = options.success;
var fail = options.fail;
if(url && filepath){
var task = plus.uploader.createUpload(url, {
method: "POST",
blocksize: 204800,
priority: 100
},
function(t, status){
if(status == 200){
if(success) success(t);
}else{
if(fail) fail(status);
}
}
);
task.addFile(filepath, {key: 'file'});
if(datas && datas.length){
for(var i=0; i<datas.length; i++){
var data = datas[i];
task.addData(data.key, data.value);
}
}
task.start();
}
};
对uploader的上传做了封装,
能够看到其核心是一个createUpload方法,创建一个Uploader对象,
创建这个对象的时候,会写好成功和失败的回调函数。
创建成功后为这个upload对象加入数据。包含要上传的文件和其它数据,
最后运行start方法開始上传。
识岁
在本zpp中。当用户选择相片或者拍照生成相片后。仅仅要点击“開始识别”button,就会运行上传操作,
代码例如以下:
// uploadImg
var url,tsrc;
function uploadImg(){
var src = $('#faceImg').attr('src');
if(src){
beginw(); if(tsrc && tsrc == src && url){
facepp();
}else{
tsrc = src;
var token = qiao.qiniu.uptoken(src);
var filename = qiao.qiniu.file;
qiao.h.upload({
url: 'http://upload.qiniu.com/',
filepath: src,
datas: [
{key: 'key', value : filename},
{key: 'token', value : token}
],
success: function(){
url = qiao.qiniu.url();
facepp();
},
fail: function(s){
showRes('上传文件失败:' + s);
}
});
}
}else{
showRes('请先选择要识别的照片! ');
}
}
为了防止每次点击都上传照片。所以做了一个推断。假设app中的照片src没有变化就不上传了。
否则则用封装好的qiao.h.upload进行上传。
假设上传失败则给与提示。上传成功则进行图片识别。
很多其它教程:
Hbuilder开发App实战1-识岁:http://uikoo9.com/book/detail/5
很多其它学习笔记:http://uikoo9.com/book
Hbuilder开发app实战-识岁03-文件上传的更多相关文章
- Hbuilder开发app实战-识岁06-face++的js实现【完结】
前言 因为识岁app比較简单.所以这节就完结吧, 当然另一些能够优化完好的地方,可是个人兴趣不是非常大, 有想继续完好的,源代码在这里:https://github.com/uikoo9/shisui ...
- python 全栈开发,Day75(Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件)
昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ----- ...
- 循序渐进学.Net Core Web Api开发系列【5】:文件上传
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 本篇介绍通 ...
- [SAP ABAP开发技术总结]文本文件、Excel文件上传下传
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- mui开发app之多图压缩与上传(仿qq空间说说发表)
欲实现效果图 提出需求点: 用户可自由添加删除替换多张图片,并且显示相应缩略图,限制为8张 用户可选择压缩图或直接上传原图功能 返回提醒用户会丢失填写的信息 下面一个个实现上述需求,从简单到复杂: 需 ...
- android开发里跳过的坑——图片文件上传失败
使用的apache的httpclient的jar包,做的http图片上传,上传时,服务器总返文件格式不对.后来发现,是由于在创建FileBody时,使用了默认的ContentType引起的.所以服务器 ...
- Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传
背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...
- iOS开发之结合asp.net webservice实现文件上传下载
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载. 首先,让我们看下文件下载. 这里我们下载cnblogs上的一个zip文件.使用N ...
- Vue.js 3.0搭配.NET Core写一个牛B的文件上传组件
在开发Web应用程序中,文件上传是经常用到的一个功能. 在Jquery时代,做上传功能,一般找jQuery插件就够了,很少有人去探究上传文件插件到底是怎么做的. 简单列一下我们要做的技术点和功能点 使 ...
随机推荐
- Python endswith() 函数
函数:endswith() 作用:判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型 相关函数:判断字符串开头 startswith() 一.函数说明语法:string.endswith(st ...
- centos 6.3 64位下cpuminer +mining_proxy 挖掘莱特币(LTC)教程
1.下载软件: cpuminer: http://sourceforge.net/projects/cpuminer/files/ 找到对应的版本,我的服务器是centos64的,找了个当前最高版本: ...
- sublime在混杂的log数据中提取你想要的内容
前几天因为同事一个sql写的有问题,导致我这边处理mysql入库出现数据丢失,没什么办法啊,为了回复数据,只能去翻前两天的log了,但是怎么从十几个几十兆的文件中找到我们需要的数据然后提取出来呢,我的 ...
- MongoDB联合查询 -摘自网络
1.简单手工关联 首先将结果查询出来放到一个变量里面,然后再查询 u = db.user.findOne({author:"wangwenlong"}); for(var p = ...
- linux分享一:网络设置
在Linux中,TCP/IP网络的配置信息存在几个不同的文件里面,这些文件分别就是 /etc/sysconfig/network. 网卡配置文件. /etc/hostc. /ect/resolv.co ...
- 腾讯云服务器 安装fastdfs文件服务器
上篇安装完nginx后,那么这次咱们就来安装fastdfs文件服务器,为何要使用文件服务器,这里不多说了,以前的文章有写过 首先用ftp工具把fastdfs的相关文件上传至腾讯云,如下 首先,安装基本 ...
- IIS配置,权限
2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 3. aspnet_regiis.exe -i Chen 19:04:42 %wind ...
- spark-architecture
https://0x0fff.com/spark-architecture-shuffle/ https://0x0fff.com/spark-memory-management/ https://0 ...
- TF-IDF理解及其Java实现
TF-IDF 前言 前段时间,又具体看了自己以前整理的TF-IDF,这里把它发布在博客上,知识就是需要不断的重复的,否则就感觉生疏了. TF-IDF理解 TF-IDF(term frequency–i ...
- HBase的Write Ahead Log (WAL) —— 整体架构、线程模型【转】
转自:http://www.cnblogs.com/ohuang/p/5807543.html 解决的问题 HBase的Write Ahead Log (WAL)提供了一种高并发.持久化的日志保存与回 ...