使用jquery插件uploadify上传文件的方法与疑问
我是学生一枚,专业也不是计算机,但又要用到很多相关技术,所以在技术基础不牢靠的情况下,硬着头皮在做。最近在做一个小项目需要上传图片,而且是需要用ajax的方式。但是利用jquery的ajax方法总会有“C:/fakepath”的问题,在网上找了很久相关解决方法,但是都太过麻烦,或者说我的水平还不到。但也看到有的人说可以用jquery的文件上传插件,于是百度。发现http://www.oschina.net/news/20298/20-excellent-jquery-file-upload-plugins-tutorials这里提到了一款uploadify的插件,看了介绍之后发现小巧,且满足要求。在这里记录一下,帮助我自己学习的同时,如果能帮到其他小伙伴,则高兴至极!
首先是uploadify的下载,直接百度,在官网上有两种版本,一种是免费的flash版本,一种是收费$5的html5版本。又没人给我报销,选择了前者。
下载下来后它给的目录如下,将min.js、css还有swf三个文件复制到项目的相关目录中(cancel.png也可以选择性加入)。

下面就是代码部分了!
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../Js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="../Js/jquery.uploadify.min.js"></script>
<link rel="stylesheet" href="../CSS/uploadify.css"/>
</head>
<script type="text/javascript">
$(function()
{
$("#submit").click(function(){
if($("#img").data('uploadify').queueData.queueLength==1){
$("#img").uploadify('upload');//检查是否有正确的图片数量,不能用$("#img").val()!!
}
else{
alert("上传数量错误,需要一张图片");
}
});
$("#img").uploadify({
'swf':'../player/uploadify.swf',
'uploader':'l.php',
'buttonText': '选择图片',//按钮上显示的图片
'auto':false,//是否选择图片后自动上传
'fileObjName':'img', //这里的名字是php文件接受files名($_FILES['img']),默认为'FilesData',之前版本该项名为fileataName
'fileTypeExts': '#.jpeg; *.jpg; *.png;',//上传文件的类型限制
'fileTypeDesc':'请选择jpeg jpg png类型图片',//似乎有了这一项就可以执行上边的限制了,在选择文件时可以筛选相关类型
'fileSizeLimit':1024,//上传文件的大小限制,单位为kb
'queueID':'queue',//上传队列的div的id
'multi':false,//是否可以多文件上传
'onUploadSuccess': function (file, data, response) {
$('#' + file.id).find('.data').html(' 上传完毕');}, //具体不明白实现原理,但是功能是在上传完毕时,显示中文“上传完毕”
'onUploadError' : function(file, errorCode, errorMsg, errorString) {
alert('The file ' + file.name + ' could not be uploaded: ' + errorString);
}, //报错方法,不会用,errorCode,errorMsg等参数如何获取?
'onUploadSuccess': function (file, data, response) { //从服务器端获得返回值,这里用1代表成功,0代表失败,有网友说这个onUploadSuccess方法之前时onComplete
alert(data);
if (response && data === "1") {
alert('上传成功');
}
else {
alert('上传失败');
}
}
}); });
</script>
<body>
<div id="queue"></div>
<input id="img" name="img" type="file">
<button id="submit">提交</button>
</body>
</html>
<?php
$tmp_name=$_FILES["img"]["tmp_name"];
$name=$_FILES["img"]["name"];
$path="../img";
$size=$_FILES["img"]["size"]; if(move_uploaded_file($tmp_name,$path.'/'.$name)){
echo "1";
}
else{
echo "0";
}
这是我根据网上众多博客、帖子学习而来的最终结果(需要注意fileObjName和onUploadSuccess两项,据说是新版本改的名字,旧版本分别为fileDataName与onComplete)。基本功能是实现了的,但是在测试过程中发现当上传出错的时候,比如我选择一个超过大小限制的图片,会弹出英文的提示,这肯定不行啊!

于是我本着能“管用就是好方法”的原则,在min.js中搜索了这几句化,并把固定的部分"Some files were not added to the queue:" 和“the file”,"exceeds the size limit"改成中文,搞定,效果如下:

若有错误或者建议请指出!谢谢
使用jquery插件uploadify上传文件的方法与疑问的更多相关文章
- Uploadify 上传文件插件详解
Uploadify 上传文件插件详解 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中 ...
- MVC3+jquery Uploadify 上传文件
最近做项目用到了上传图片的功能,以前也写过这类代码,不过都是用传统的file标签,今天整理一个好用的插件Uploadify..都做了一些注释,一看便知. 可以去官网下载最新的:Uploadify下载地 ...
- uploadify 上传文件插件
今天在项目中要用到文件上传功能时,想借助Jquery方式来实现,于是想到用uploadify插件来实现.不经意间在网上看到了一遍关于这个插件的用法,写的很好.在这里就分享给大家,希望对大家有帮助.以下 ...
- 在MVC中利用uploadify插件实现上传文件的功能
趁着近段的空闲时间,开发任务不是很重,就一直想把以前在仓促时间里所写的多文件上传功能改一下,在网上找了很多例子,觉得uploadify还可以,就想用它来试试.实现自己想要的功能.根据官网的开发文档,同 ...
- SpringMVC+jquery.uploadify 上传文件
前言 以前用Asp.net MVC+uploadify上传文件,最近学习SpringMVC,所以就用SpringMVC+uploadify做个上传文件的demo. 刚开始用form表单的方式提交,在C ...
- uploadify上传文件(2)--基础语法
隔了好久,因为最近搬家,离开从小生活的城市,来到杭州.找工作.找房子等诸多事宜耽误了这篇文章许久.今天难得闲暇在旅馆中完成uploadify上传文件系列的第二篇--uploadify使用的基础语法. ...
- ASP.NET Uploadify 上传文件过大报错
Uploadify上传文件原来很早之前用过,没发现什么问题.今天再使用过程中,当文件大于30M的时候就会报错404.查看错误消息提示配置最大上传太小了.需要修改. 记得原来配置上传文件大小在这里:&l ...
- ASP.NET Uploadify 上传文件过大 报错(http error)借鉴,以防忘记
Uploadify上传文件原来很早之前用过,没发现什么问题.今天再使用过程中,当文件大于30M的时候就会报错404.查看错误消息提示配置最大上传太小了.需要修改. 记得原来配置上传文件大小在这里:&l ...
- 朋友封装的一个ASP.NET上传文件的方法
朋友做了asp.net开发多年,做了这个,自我感觉封装得还不错!!! 代码如下: #region 上传文件的方法 /// <summary> /// 上传文件方法 /// </sum ...
随机推荐
- js的原型继承小结
考虑:有一个想要复用的对象,并且想要创建的第二个对象需要从第一个对对象中获取其功能. 实现如下: //要继承的对象 var parent = { name:"Papa" }; // ...
- C# 给自己的代码 添加上 自己的版权信息
如何将自己的代码自动添加版权信息 现在大多数公司都规定程序员在程序文件的头部加上版权信息,这样每个人写的文件都可以区分开来,如果某个文件出现问题就可以快速的找到文件的创建人,用最短的时间来解决问题,常 ...
- sublime快捷键收藏
快速查找(ctrl + P)输入@+函数名可以快速找到函数.输入#+文本可以快速进行文件内文本匹配.3. 多行游标功能(ctrl + D,非常实用)如何将文件中的某个单词更改为另一个?方法一:利用查找 ...
- thinkphp使用模块/控制器/操作访问时出现No input file specified.解决方式
thinkphp使用 http://serverName/index.php/模块/控制器/操作 访问时,出现了 No input file specified. 的错误 解决办法: 一: 开启cgi ...
- 几个STL算法:includes,set_difference、set_intersection、set_symmetric_difference、set_union, pre_permutation, next_permutation
includes: 测试有序序列中是否包含另一个序列的全部元素. template<class inputIterator1, class inputIterator2> bool inc ...
- MVC5学习相关资源整理
1 官方 Getting Started http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started 英文不好,英文好的同 ...
- WPF实现毛玻璃效果
1和2需要Microsoft.WindowsAPICodePack.Shell.dll 和引用using System.Windows.Interop,并只能在有DwmApi.dll 版本的Windo ...
- Qt Quick - 开启下一代交互动效原型设计(效果很美,相关系列博文)
http://blog.csdn.net/unixzii/article/details/46501265
- Android APP开发需求文档范本
Android APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...
- case then 的用法 貌似case then不支持别名
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo ALTER PROC [dbo].[usp_SRV_GetALLRelativeProject]@Service ...