日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > htmlcss > 【ExtJs】ExtJs的文件上傳

【ExtJs】ExtJs的文件上傳

來源:程序員人生   發(fā)布時(shí)間:2015-08-20 08:06:28 閱讀次數(shù):4417次

ExtJs的文件上傳也是采取Ajax的方式,基本上,用戶上傳以后,其結(jié)果馬上推回給前臺(tái)。下面以1個(gè)ExtJs圖片上傳系統(tǒng),說明這個(gè)問題。


1、基本目標(biāo)

實(shí)現(xiàn)以下的1個(gè)圖片上傳的系統(tǒng),不是基本圖片格式,大于1M的圖片不給予上傳,上傳成功顯示圖片,上傳不成功,則顯示毛病信息。



2、基本思想

這個(gè)工程的目錄結(jié)構(gòu)以下,


如FileUpload.html的HTML布局所示,js與ext-theme-classic下面皆是Ext的基本資源。然后Upload文件夾用來寄存上傳的圖片,F(xiàn)ileUpload.html就是前臺(tái)布局頁面,里面有1個(gè)直接渲染到<body>標(biāo)簽的Panel組件,Panel組件中,唯一1個(gè)文件域,相當(dāng)于<input type="file" />。上傳成功以后彈出1個(gè)可以關(guān)閉的窗口window。photoSubmit.php是上傳文件的后臺(tái)處理頁面。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf⑻"> <title>extFileUpload</title> <script type="text/javascript" src="../js/ext-all.js"></script> <script type="text/javascript" src="../js/bootstrap.js"></script> <script type="text/javascript" src="../js/ext-lang-zh_CN.js"></script> <link href="../ext-theme-classic/ext-theme-classic-all.css" rel="stylesheet" type="text/css"> </head> <body> </body> </html>

3、制作進(jìn)程

1、FileUpload.html

這個(gè)前臺(tái)布局頁面還是使用了表單最基本的anchor布局,然后利用了ExtJs的Ajax表單提交方式,這都在《【ExtJs】ExtJs的表單插件與表單布局、提交與驗(yàn)證》(點(diǎn)擊打開鏈接)已具體講過。記住ExtJs文件域類型是filefield。此panel的底部工作欄還是采取經(jīng)典的左右空白站位符,中間放1個(gè)“肯定”按鈕的布局方式。此按鈕在用戶沒有選擇文件之間是不可用的。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf⑻"> <title>extFileUpload</title> <script type="text/javascript" src="js/ext-all.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript" src="js/ext-lang-zh_CN.js"></script> <link href="ext-theme-classic/ext-theme-classic-all.css" rel="stylesheet" type="text/css"> </head> <body> </body> </html> <script> Ext.onReady(function(){ Ext.onReady(function(){ var form1 = Ext.create('Ext.form.Panel', { renderTo: Ext.getBody(), method: 'POST', layout: 'anchor', title: '圖片上傳', items: [{ xtype: 'filefield', anchor: '100%', name: 'file', //此文件傳遞給后臺(tái)處理上傳頁面的標(biāo)識(shí) allowBlank: false, //不允許為空 buttonText: '選擇圖片' //那個(gè)上傳按鈕的文字 }], bbar: [{ xtype: 'tbfill' }, { xtype: 'button', text: '肯定', disabled: true, //沒有通過驗(yàn)證,此按鈕不可用 formBind: true, listeners: { click: function(){ var thisForm = form1.getForm(); thisForm.submit({ url: "photoSubmit.php", success: function(form, action){ Ext.create('Ext.window.Window', { title:'上傳成功', border: false, //沒有邊框 items: [{ xtype: 'image', src: action.result.msg }] }).show(); }, failure: function(form, action){ Ext.create('Ext.window.Window', { title: '上傳失敗', border: false, //沒有邊框 items: [{ xtype: 'label', text: action.result.msg }] }).show(); } }); } } }, { xtype: 'tbfill' }] }); }) }); </script>
2、photoSubmit.php

ExtJs的上傳與否取決與這個(gè)頁面打印出來的Json信息。此頁面與《【php】文件的上傳與下載》(點(diǎn)擊打開鏈接)的上傳部份沒有半點(diǎn)區(qū)分,使用Jsp的朋友可以參考,《【Servlet】利用Servlet3.0標(biāo)準(zhǔn)與JSTL表達(dá)式實(shí)現(xiàn)文件上傳系統(tǒng),支持圖片上傳后顯示》(點(diǎn)擊打開鏈接);《【Struts2】文件的上傳與上傳權(quán)限的控制》(點(diǎn)擊打開鏈接);使用Asp或.NET的朋友也是1樣的,關(guān)鍵是你的后臺(tái)頁面處理完上傳的文件以后,和《【ExtJs】ExtJs的表單插件與表單布局、提交與驗(yàn)證》(點(diǎn)擊打開鏈接)1樣,打印出以下的字符串讓FileUpload.html辨認(rèn):

//ExtJs收到此Json則認(rèn)為上傳成功 { "success":true, "msg":"ss" //要捎回前臺(tái)的信息 } //ExtJs收到此Json則認(rèn)為上傳失敗 { "success":false, "msg":"ss" //要捎回前臺(tái)的信息 }
因此,便有了以下的php代碼:

<?php //看是不是是通過正常途徑傳遞1個(gè)file過來了 if(empty($_FILES["file"])){ //如果不是,則是非正常打開此頁,馬上重定向,假裝這頁不存在 header("location: error.php"); exit; } else{ header("Content-type: text/html; charset=utf⑻"); } //這是判斷是不是上傳的file $canUpload=true; //這樣就可以夠獲得上傳的文件名 $fileName=$_FILES["file"]["name"]; //通過對(duì)$fileName的處理,就可以夠獲得上傳的文件的后綴名 $fileExtensions=strrchr($fileName, '.'); //這樣就可以夠獲得上傳文件的大小 $fileSize=$_FILES["file"]["size"]; //行將被打印的毛病信息 $errmsg=""; //這里是文件的異常,1般不會(huì)出現(xiàn) if($_FILES["file"]["error"]>0){ $errmsg .= "異常:".$_FILES["file"]["error"]."!"; $canUpload=false; } //如果上傳的文件名的后綴不是以下的幾種則不能上傳 if($fileExtensions!=".bmp" && $fileExtensions!=".gif" && $fileExtensions!=".jpg" && $fileExtensions!=".jpeg" && $fileExtensions!=".png"){ $errmsg .= "只能上傳圖片類型!后綴名必須為:.bmp,gif,jpg,jpeg,png任1!"; $canUpload=false; } //如果上傳的文件大于1M則也不能上傳 if($fileSize>1*1024*1024){ $errmsg .= "文件太大!請(qǐng)少于1M!"; $canUpload=false; } //如果文件可以上傳 if($canUpload==true){ //保存在服務(wù)器的名字則是時(shí)間戳,加文件后綴名 $saveName=time().$fileExtensions; //獲得服務(wù)器的目錄的絕對(duì)路徑。 $basepath=str_replace('','/',realpath(dirname(__FILE__).'/'))."/"; //然后則保存這個(gè)上傳文件 move_uploaded_file($_FILES["file"]["tmp_name"],$basepath."/upload/".$saveName); //打印上傳成功以后的json給正在等待的ExtJsAjax,捎1個(gè)圖片的保存地址給它。正常來講,這個(gè)地址還應(yīng)當(dāng)入庫。 echo "{ 'success':true, 'msg':'upload/{$saveName}' }"; } else{ //上傳不成功,則捎1個(gè)失敗信息給前臺(tái)。 echo "{ 'success':false, 'msg':'{$errmsg}' }"; } ?>


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 毛片在线免费播放 | 欧美日韩高清免费 | 久久国产精品影视 | 欧美日韩国产综合在线 | 最新国产精品视频 | 日韩精品 电影一区 亚洲 | 国产精品99一区二区三区 | 日韩高清一区二区 | 亚洲在线看 | 日韩视频中文字幕 | 成人在线免费视频观看 | 日韩一区av | 亚洲综合精品 | 日韩视频一区二区三区四区 | 午夜性爽视频 | 一区二区电影网 | 国产成人免费看一级大黄 | 亚洲 欧美 日韩 在线 | 在线一区二区三区四区 | 国产精品亚洲成人 | 成人在线免费视频观看 | 精品国产乱码一区二区三区 | 伊人免费视频 | 日本亚洲视频 | 免费a v在线 | 日韩欧美在线一区二区 | 日韩色在线 | 91看污 | 91视频一区二区 | 日本一级囗交免费 | 亚洲性色av| 一区二区在线视频 | 国产精品成人在线观看 | 国产精品99久久免费观看 | 中文字幕在线观看一区二区三区 | 免费在线观看av网站 | 国产真实乱全部视频 | 99精品综合 | 精品小视频 | 久久精品国产v日韩v亚洲 | 亚洲一区在线视频 |