ajax+h5实现文件上传,成功即显示缩略图。
官方参考文档:
http://fex.baidu.com/webuploader/
文件下载地址:
https://github.com/fex-team/webuploader/releases/download/0.1.5/webuploader-0.1.5.zip
html 页面代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<!--这里引用的百度在线jquery文件-->
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
<!--这两个文件需要去官网下载,然后放置在同此html 文件同级-->
<link rel="stylesheet" type="text/css" href="webuploader.css" />
<script type="text/javascript" src="webuploader.js"></script>
</head>
<body>
<div id="filePicker">
<div class="webuploader-pick">选择图片</div>
<input id="file" class="webuploader-element-invisible" name="file" accept="image/*" type="file">
</div>
<div id="slt"></div>
</body>
<script>
// 初始化Web Uploader
var uploader = WebUploader.create({
// 选完文件后,是否自动上传。
auto: true,
// swf文件路径《这个放在引入的 js 文件同级目录即可》
swf: '/js/Uploader.swf',
// 文件接收服务端。
server: 'fileupload.php',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: '#filePicker',
// 只允许选择图片文件。
accept: {
title: 'Images',
extensions: 'gif,jpg,jpeg,bmp,png',
mimeTypes: 'image/*'
}
});
//上传成功
uploader.on( 'uploadSuccess', function( file, response ) {
//删除《选择图片按钮》
$("#filePicker").remove();
//弹出服务器返回信息
alert(response._raw);
});
//上传发生错误时
uploader.on('error', function(type){
//说明选择类型不对
if(type=='Q_TYPE_DENIED'){
alert('请选择正确的图片类型');
}
});
//上传完成,产生预览图
uploader.on( 'fileQueued', function( file ) {
var $li =$("#slt");
uploader.makeThumb( file, function( error, ret ) {
if ( error ) {
$li.text('预览错误');
} else {
$li.append('<img alt="" src="' + ret + '" />');
}
});
});
</script>
</html>
fileupload.php 文件代码:
<?php
/*
需要注意的是,一般我们在测试开发时是在,window系统上的继承环境上的,而window上是gbk2312编码
要想存储的文件名也是中文的话,要从utf-8转为gbk2312,linux系统则不用,因为linux系统是utf-8编码
*/
$content = iconv( "utf-8","gb2312", $_FILES['file']['name']);
move_uploaded_file($_FILES['file']['tmp_name'],'./'.$content);
echo '文件上传成功!';
选择性参考:
觉得《选择图片框》比较大,所以调的小了一点。
webuploader.css 代码如下:
.webuploader-container {
position: relative;
}
.webuploader-element-invisible {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px,1px,1px,1px);
}
.webuploader-pick {
position: relative;
display: inline-block;
cursor: pointer;
background: #00b7ee;
padding: 5px 0 8px 0;
color: #fff;
text-align: center;
border-radius: 5px;
overflow: hidden;
width: 100px;
height: 30px;
}
.webuploader-pick-hover {
background: #00a2d4;
}
.webuploader-pick-disable {
opacity: 0.6;
pointer-events:none;
}
ajax+h5实现文件上传,成功即显示缩略图。的更多相关文章
- KindEditor文件上传成功前端显示上传失败
一.使用kindeditor 上传图片 ,根据kindeditor 要求返回了相应的数据, 但是kindeditor 插件显示上传失败!!! 解决方法: 各个版本位置可能不同!!! 1.修改kinde ...
- 基于jquery ajax的多文件上传进度条
效果图 前端代码,基于jquery <!DOCTYPE html> <html> <head> <title>主页</title> < ...
- [转]ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的asp.net示例
原文地址:http://www.stepday.com/topic/?459 作文一个ExtJs的入门汉子,学习起来的确是比较费劲的事情,不过如今在这样一个网络资源如此丰富的时代,依然不是那么难了的. ...
- FormData+Ajax 实现多文件上传 学习使用FormData对象
FormData对象是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利. 今天我们使用dropzone和FormData实现多文件上传功能. var SAMP = null; / ...
- HTML5 + AJAX ( jQuery版本 ) 文件上传带进度条
页面技术:HTML5 + AJAX ( jQuery) 后台技术:Servlet 3.0 服务器:Tomcat 7.0 jQuery版本:1.9.1 Servlet 3.0 代码 package or ...
- 使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
Anthem.NET刚刚发布了其最新的1.5版本,其中很不错的一个新功能就是对文件上传功能的Ajax实现.本文将简要介绍一下该功能的使用方法. Anthem.NET的下载与安装 Anthem.NET可 ...
- AJAX + WebService 实现文件上传
1. 界面HTML <p >上传文件: <input id="zfiles" type="file" name="file" ...
- Asp.NET MVC4 + Ajax 实现多文件上传
本文转自http://www.cnblogs.com/freeliver54/archive/2013/05/15/3079700.html JS部分测试可以,jQuery部分没有测试先留着 HTML ...
- ajax 无刷新文件上传
无废话,直接重点: 1:准备工作 需要4个js库 1.jquery 8以上版本 2.jquery.ui.widget.js 3.jquery.iframe-transport.js 4.jquery ...
随机推荐
- ThinkPHP5.0框架开发--第7章 TP5.0数据库操作
ThinkPHP5.0框架开发--第7章 TP5.0数据库操作 第7章 TP5.0数据库操作 ===================================================== ...
- nyoj--1087--摆方格(规律)
摆方格 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 给你一个n*n的方格,每个方格里的数必须连续摆放如 1 2 4 3 ,下图为不连续的,请输出从左上角到右下角的对角 ...
- 一个比NPM更快更安全可靠的JavaScript包管理工具——Yarn
yarn安装: npm intall -g yarn 查看安装是否成功: yarn -v yarn常用的命令以及和npm的对照如下: 更详细的请查看官方文档
- 再次建立wordpress
山大的火星人的站还在维护www.h4ck.org.cn. 也许是募课潮过后的效应,www时代还能聚合很多知识,到了客户端时代技术越发松散,很难发实用的技术总结. 如果重新审视问题不难发现,问题在于使用 ...
- 如何解决bib的一些问题
胡老师留的大作业要求综述,因而有很多文献引用.但是当使用bibtex的方法,特别是中文文献的引用会遇到一些问题. 网上相关的解答有: http://blog.sciencenet.cn/blog-10 ...
- XManager远程Linux 安装Oracle 图形化界面xstart解决方法
一.安装Oracle_11g_R21.安装所必要的软件包:(CentOS)参见官方文档-rw-r--r--. 1 oracle oinstall 1358454646 Feb 5 22:57 p10 ...
- css文字超出变省略号...
<style>.text1 { width:200px; overflow:hidden; text-overflow:ellipsis; -o-text-over ...
- SpringBoot学习笔记(16)----SpringBoot整合Swagger2
Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...
- form表单里的坑
我们在写前端表单页面的时候,为了更好的SEO,我们会使用form标签,但是我们经常的情况是:我们并不需要form标签的一些默认事件,比如: 1.form内只有一个input标签的话,回车会触发表单的提 ...
- json转换方法
import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashMap; import java.ut ...