最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs利用ajax實現網頁無刷新上傳圖片實例代碼

 更新時間:2017年06月06日 17:09:29   作者:pspgbhu  
本篇文章主要介紹了nodejs利用ajax實現網頁無刷新上傳圖片實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

通常情況下上傳圖片是要通過提交form表單來實現的,但是這又不可避免的產生了網頁轉。

利用ajax技術和FormData()對象可以有效的解決這個問題

廢話不多說 直接上關鍵代碼:

html部分

<div class="form-group">
  <label>File input</label>
  <input type="file" name="file" id="file">
  <p id="result"></p>
  <img id="img" src="">
</div>
<button id="upload" class="btn btn-default">提交</button>

這里注意input標簽的 type="file"

js部分:

function uploadFile(){
 var file = document.getElementById("file")
 var formData = new FormData();
 formData.append('file',file.files[0]);
 $.ajax({
  url: '/upload',
  type: 'POST',
  data: formData,
  // async: false,
  cache: false,
  contentType: false,
  processData: false,
  success: function(data){
   if(200 === data.code) {
    $('#result').html("上傳成功!");
    $('#img').attr('src',data.data);
   } else {
    $('#result').html("上傳失敗!");
   }
   console.log('imgUploader upload success');
  },
  error: function(){
   $("#result").html("與服務器通信發(fā)生錯誤");
  }
 });
}

function postPage() {
    var uploada = document.getElementById('upload');
    uploada.addEventListener("click",function () {
      uploadFile();
    },false);
}

window.onload = function () {
  postPage();
}

nodejs部分:

var storage = multer.diskStorage({
  destination: function (req, file, cb){
    cb(null, './public/images')
  },
  filename: function (req, file, cb){
    cb(null, file.originalname)
  }
});
var upload = multer({
  storage: storage
});
router.post('/upload', upload.single('file'), function (req, res, next) {
  var url = 'http://' + req.headers.host + '/images/' + req.file.originalname
  res.json({
    code : 200,
    data : url
  })
});

multer是express官方推薦的文件上傳中間件。

文件上傳有以下方法

upload.single(‘file'), //適用于單文件上傳。
upload.array(‘file',num), //適用于多文件上傳,num為最多上傳個數,上傳文件的數量可以小于num。

同時還提供了混合上傳,比如A類文件1個,B類文件2個。官方API有詳細說明。

file為上傳字段名稱,當使用form表單submit方式上傳時,必須與表單上傳的name屬性保持一致。

對上傳文件大小限制,名稱限制等均可在limits中加上,具體可加屬性,請參考官方api。

multer官方文檔

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • nodejs+express最簡易的連接數據庫的方法

    nodejs+express最簡易的連接數據庫的方法

    這篇文章主要介紹了nodejs+express 最簡易的連接數據庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • NodeJs搭建本地服務器之使用手機訪問的實例講解

    NodeJs搭建本地服務器之使用手機訪問的實例講解

    今天小編就為大家分享一篇NodeJs搭建本地服務器之使用手機訪問的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • express默認日志組件morgan的方法

    express默認日志組件morgan的方法

    morgan是express默認的日志中間件,這篇文章主要介紹了express默認日志組件morgan的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 零基礎實現node+express個性化聊天室的示例

    零基礎實現node+express個性化聊天室的示例

    這篇文章主要介紹了零基礎實現node+express個性化聊天室的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • node錯誤處理與日志記錄的實現

    node錯誤處理與日志記錄的實現

    這篇文章主要介紹了node錯誤處理與日志記錄的實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • nvm如何切換與管理node版本

    nvm如何切換與管理node版本

    這篇文章主要介紹了nvm如何切換與管理node版本問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Nodejs中自定義事件實例

    Nodejs中自定義事件實例

    這篇文章主要介紹了Nodejs中自定義事件實例,比較簡單的一個例子,需要的朋友可以參考下
    2014-06-06
  • CentOS上安裝Node.js和mongodb筆記

    CentOS上安裝Node.js和mongodb筆記

    這篇文章主要介紹了CentOS上安裝Node.js和mongodb筆記,本文講解了Python安裝、Node.js安裝、npm安裝、mongodb驅動安裝、mongodb數據庫操作測試代碼等內容,需要的朋友可以參考下
    2015-04-04
  • node.js中的require使用詳解

    node.js中的require使用詳解

    本文通過幾個具體實例來分析講解了node.js中require的使用方法,非常的詳盡,這里推薦給大家
    2014-12-12
  • 利用node實現數據庫數據導出到Excel

    利用node實現數據庫數據導出到Excel

    本文將詳細講解如何使用Node.js實現從MySQL數據庫獲取數據,并生成包含多個工作表的 Excel 文件,每個工作表對應數據庫中的一個表,有需要的可以了解下
    2024-11-11

最新評論

呼玛县| 辰溪县| 胶州市| 彭泽县| 柳河县| 江安县| 牡丹江市| 宜兰县| 福鼎市| 梨树县| 原阳县| 定西市| 长春市| 镇原县| 宁明县| 东光县| 通榆县| 贡山| 稷山县| 顺平县| 哈密市| 噶尔县| 余姚市| 海晏县| 小金县| 颍上县| 林口县| 衡阳市| 富裕县| 寻甸| 盐边县| 平山县| 苏州市| 田阳县| 平和县| 阳山县| 苏尼特右旗| 通许县| 霸州市| 长海县| 通化市|