2018-03-21 HTML5 FormData 文件上傳 學習筆記

點擊跳轉(zhuǎn)HTML5 FormData 方法介紹以及實現(xiàn)文件上傳 作者:詩淵

把 form 表單作為參數(shù)傳入 FormData 構(gòu)造函數(shù)

var form = document.getElementById("form1");
var fd = new FormData(form);

就可以直接通過ajax 的 send() 方法將 fd 發(fā)送到后臺鲤孵。

HTML部分:

<form name="form1" id="form1">  
        <p>name:<input type="text" name="name" /></p>  
        <p>gender:<input type="radio" name="gender" value="1" />male <input type="radio" name="gender" value="2" />female</p>
        <p>stu-number:<input type="text" name="number" /></p>  
        <p>photo:<input type="file" name="photo" id="photo"></p>  
        <p><input type="button" name="b1" value="submit" onclick="fsubmit()" /></p>  
</form>  
<div id="result"></div>

jQuery部分:

function fsubmit() {
        var form=document.getElementById("form1");
        var fd =new FormData(form);
        $.ajax({
             url: "server.php",
             type: "POST",
             data: fd,
             processData: false,  // 告訴jQuery不要去處理發(fā)送的數(shù)據(jù)
             contentType: false,   // 告訴jQuery不要去設置Content-Type請求頭
             success: function(response,status,xhr){
                console.log(xhr);
                var json=$.parseJSON(response);
                var result = '';
                result +="個人信息:<br/>name:"+json['name']+"<br/>gender:"+json['gender']+"<br/>number:"+json['number'];
                 result += '<br/>頭像:<img src="' + json['photo'] + '" height="100" style="border-radius: 50%;" />';
                 $('#result').html(result);
             }
        });
        return false;
    }

PHP部分

<?php

$name = isset($_POST['name'])? $_POST['name'] : '';  
$gender = isset($_POST['gender'])? $_POST['gender'] : '';
$number = isset($_POST['number'])? $_POST['number'] : '';  
$filename = time().substr($_FILES['photo']['name'], strrpos($_FILES['photo']['name'],'.'));  
$response = array();

if(move_uploaded_file($_FILES['photo']['tmp_name'], $filename)){  
    $response['isSuccess'] = true;  
    $response['name'] = $name;  
    $response['gender'] = $gender;
    $response['number'] = $number;  
    $response['photo'] = $filename;  
}else{  
    $response['isSuccess'] = false;  
}  
echo json_encode($response);

?>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市泼橘,隨后出現(xiàn)的幾起案子驾诈,更是在濱河造成了極大的恐慌滓侍,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異杨箭,居然都是意外死亡,警方通過查閱死者的電腦和手機乙漓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門级历,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人叭披,你說我怎么就攤上這事寥殖。” “怎么了涩蜘?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵嚼贡,是天一觀的道長。 經(jīng)常有香客問我同诫,道長粤策,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任误窖,我火速辦了婚禮掐场,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贩猎。我一直安慰自己熊户,他們只是感情好,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布吭服。 她就那樣靜靜地躺著嚷堡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪艇棕。 梳的紋絲不亂的頭發(fā)上蝌戒,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天,我揣著相機與錄音沼琉,去河邊找鬼北苟。 笑死,一個胖子當著我的面吹牛打瘪,可吹牛的內(nèi)容都是我干的友鼻。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼闺骚,長吁一口氣:“原來是場噩夢啊……” “哼彩扔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起僻爽,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤虫碉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后胸梆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體敦捧,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡须板,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了兢卵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逼纸。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖济蝉,靈堂內(nèi)的尸體忽然破棺而出杰刽,到底是詐尸還是另有隱情,我是刑警寧澤王滤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布贺嫂,位于F島的核電站,受9級特大地震影響雁乡,放射性物質(zhì)發(fā)生泄漏第喳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一踱稍、第九天 我趴在偏房一處隱蔽的房頂上張望曲饱。 院中可真熱鬧,春花似錦珠月、人聲如沸扩淀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驻谆。三九已至,卻和暖如春庆聘,著一層夾襖步出監(jiān)牢的瞬間胜臊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工伙判, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留象对,地道東北人。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓宴抚,卻偏偏與公主長得像勒魔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子酱塔,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • H5 meta詳解 viewport width:控制 viewport 的大小沥邻,可以指定的一個值危虱,如果 600羊娃,...
    FConfidence閱讀 813評論 0 3
  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關(guān)注...
    程序員poetry閱讀 16,641評論 18 503
  • 最近項目需要使用 Angular,對于初學 Angular 的我只能硬著頭皮上了埃跷,項目中有一個需求是文件上傳蕊玷,磕磕...
    雖萬萬人吾往矣閱讀 18,252評論 3 20
  • 上傳文件已經(jīng)是個已經(jīng)成熟的前端技術(shù)邮利,目前開源的拿來即用的前端上傳插件也比較多,諸如:Web Uploader垃帅、JS...
    清曉凝露閱讀 11,407評論 0 22
  • 一延届、必然: 如果10年后,所有商人贸诚、企業(yè)家都將學會利用互聯(lián)網(wǎng)做生意方庭,那么這10年里,一定將會產(chǎn)生一大批幫助其他企業(yè)...
    丘小儒的秘制雞湯閱讀 278評論 2 1