thinkphp3.2.3上传文件显示进度

thinkphp3.2.3上传文件显示进度,第1张

因为上述 *** 作包含了上传文件的 *** 作,而普通ajax无法实现文件上传,经过百度有使用FormData对象与插件这两种方漏桥法,详见前一篇转载的博文,于是我就尝试了一下FormData对象的方法。

情景:我要利用thinkPHP3.2.3框架实现增加商品时对其输入数据合法性的验证之后到前台提示,一开始是通过内置的跳转函数实现的跳转提示,会跳到一个页面显示再返回,这样给人的视觉体验很不好,于是想修改为ajax方式来实现异步更新数据而不刷新此页面,也不离开此页面,而是通过alertd出警告框来提示用户输入数据的合法性与否。因为商品的表单数据中包含文件,所以一开始使用ajax时使用jquery内置的收集数据的方法:$("form").serialize()但是它不支持文件数据的收集,于是百度后就尝试使用FormData加上ajax来实现表单的异步提交并实现文件的上传。

首先在控制器就要修改执行成功或失败时的跳转函数,如

$this->success('添加成功!',U('listGoods'),true)

$this->error('添加失败!',U('add'),true)

细心的同学应该发现了跟以前写的有不同之处吧,就是多给了一个参数,默认是false,设置为true时表明表单是使用ajax提交的,从而不执行跳转,而是返回json格式的数据如如搜首下:

{"info":"\u6dfb\u52a0\u6210\渣数u529f\uff01","status":1,"url":"\/shop\/index.php\/Admin\/Goods\/listGoods.html"}

{"info":"\u6dfb\u52a0\u6210\u529f\uff01","status":0,"url":"\/shop\/index.php\/Admin\/Goods\/listGoods.html"}

这样就可以在前台的ajax执行的success回调函数内部获取数据,status=1表示成功,status=0表示失败。

一开始使用的方法代码如下:

function testAjax(){

var formData = new FormData(document.getElementById("addForm"))

$.ajax({

url:"__SELF__",

type:"post",

data:formData,

dataType: 'json',

processData:false,// 告诉jQuery不要去处理发送的数据

contentType:false,// 告诉jQuery不要去设置Content-Type请求头

success:function(data){

window.clearInterval(timer)

console.log("over...")

//判断是否添加成功

if(data.status == 1){

alert(data.info)

location.href = data.url

}

else{

alert(data)

}

},

error:function(e){

alert("错误")

window.clearInterval(timer)

}

})

get()//此处为上传文件的进度条

}

正常情况下是不跳转的,但是我猜应该是使用了FormData对象的缘故,导致ajax执行回调函数后,一直自行跳到一个空白界面显 示返回的json格式的提示信息。这样的效果显然不是我要的,于是就开始测试,看到底是哪里出错了,最后发现确实没法控制它, 正一筹莫展时突然发现现在使用的是绑定了提交按钮的onclick事件,我猜会不会是这个原因,反正改一下也没关系,于是将其改成 限制通过按钮提交表单的方法来实现果然不自行跳转了,真的激动啊!!这时明白最关键原因应该跟FormData无关了,其实就是提 交方式的原因导致的。

问题一:s/1o6MShOe 9b4i前面加什么,网盘 加pan.baidu/

问题二:百度网盘的分享链接的前缀是什么,百度了半天没一个有用的,谁能告诉我一下,急求啊! 好 的 可 用 手 机 看

好 的 可 用 手 机 看

/...173om

jQuery库提供的序列化表单字符串方法

不能收集文件上传的.serialize。所以对于包含文件上

传的表单我们还需通过模拟异步表单提交

------------------------------------

对于return 而言,在其执行之后,意味着将数据返

回给调用者,子程序结束,但是yield却不一样,它能够继续执行,

直到下一个yield 转交执行权,之后又可以进入继续执行,周而复始,

直到抛出异常。for in range()是一个简羡岁宽单有用的循环

问题三:请自行在好孩子代码前加百度云域名怎么用 百度云的域名是pan.baidu

应该是某些网站为了防止发布链接而被管理员删除屏蔽而采取的行为。

比如代码为a,那么下载地址就是

pan.baidu/a

将这个链接输入到浏览器中,即可通过百度云盘下载你想要的资源。

当然,大的资源需要用百度云客户端下载的,小的可以直接网页下载

问题四:百度网盘后缀怎么用? 你好

请你先解释下你说的百度网盘后缀指的是神马?我才好帮你解决。

.

如果你说的后缀是指私密分享的提取密码,你进私密分享链接输入提取码,就可以打开分享资源进行转存或限制,如果是视频转存到你的网盘支持在线播放.

.

搜索别人百度网盘分享资源的方法:

.

1.打开百度主页,搜索栏输入 site:pan.baidu+空格+资源名》百度一下》一般都能找到.

2.进下面网址去搜索百度网盘资源:

.

baidu10/baidu.

*―*――*―雀派―*――*――*――*――*――*――*――*――*―

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┏/

  【意念时空】 如对你有帮助.请及时采纳.

/┛

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

*―*――*――*――*――*――*――*――*――*――*――*―

?

问题五:115网盘 别人直接传给我一串字母数字f57a39256a告诉我下载 我应该在前面加什么才能打开对 115/file/es6tiyj9

应该是这个网址的东西....

问题六:兄亮如何用特征码下载 打开BT下载工具(迅雷,快车,旋风,Bitet,BitTorrent,,uTorrent等等),例如迅雷。

在特征码前面加上:magnet:?xt=urn:btih:

例如:

点击继续后,会出现此d窗,等几秒,获取磁力链接,然后就能得到地址。

注意:有时候特征码是43位的,这就需要去掉前三位

问题七:手机百度网盘文件下载时有的前面带一个蓝色的P啥意思 图呢?

应该是p2p传输的意思

问题八:百度云网盘怎么给自己上传的文件加密码 百度网盘如何给文件夹设置密码的方法:

首先要下载百度云管家,就是电脑版的百度网盘。

然后登录账号。

点击上方的隐藏空间图标。

点击【启用隐藏空间】。

设置隐藏空间的密码。

然后点击【上传文件】,就可以上传想要隐藏的文件。

如果需要从网盘中添加的话,点击左上角的【添加】。

就可以选择网盘中想要隐藏的文件或文件夹了。

还可以在网盘处,右击想要隐藏的文件,选择【移入隐藏空间】。

将文件或文件夹移入隐藏空间后,需要点击【立即上锁】,

别人只能在输入密码后,才能访问隐藏空间的文件了。

如果要将文件移出隐藏空间,只要右击文件,选择【移出隐藏空间】即可。

注意:移入隐藏空间后,文件只能在电脑上的百度云管家内查看,网页版和手机版都看不到这个文件

问题九:百度网盘不能用了,请问还有什么网盘可以和百度网盘净网前相似功能的?嘿… 我也想知道,我存在百度网盘的视频现在都看不了了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12284731.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存