22.課時117-幼教平臺:文件上傳操作

在這裏插入圖片描述
圖片 音頻 視頻存儲在服務器,數據庫中僅僅存放的是這些文件的地址而已。

文件上傳處理,要使用formdiable插件

  1. Nodejs在處理客戶端以post方式提交的數據時,比較複雜,要寫兩個監聽,並且要處理上傳的圖片,文件也比較困難
  2. 常用第三方模塊包formdiable來處理客戶端以post提交的表單、文件、圖片等
    如何使用呢?
  3. 使用命令 npm install formidable安裝
    在這裏插入圖片描述

注意事項:

  1. 表單提交的過程中涉及文件或圖片上傳,則一定要設置表單頭,即在form標籤上加上固定寫法的屬性爲enctype=”multipart/form-data”,否則文件或圖片會上傳失敗

  2. ,當中的name屬性一定要賦值,詳情見文檔:https://github.com/node-formidable/node-formidable
    步驟:

  3. 安裝 執行命令 npm install formidable –save

  4. 引入formidable
    在這裏插入圖片描述

  5. 不再使用這種方式了
    在這裏插入圖片描述
    而是使用formidable方式了,具體的操作步驟可以參考文檔

  6. 在項目中新建文件夾dir
    在這裏插入圖片描述

  7. app.js中使用formidable
    在這裏插入圖片描述

  8. 重啓服務器,進入localhost:2000,填寫表單,選擇文件,提交文件
    在這裏插入圖片描述

  9. 服務器控臺輸出:文本信息都可以,但是文件信息不可以,是因爲我們需要進行一些設置
    在這裏插入圖片描述

  10. 設置表單頭,默認是:application/x-www-form-urlencoded
    在這裏插入圖片描述

  11. 爲,當中的name屬性賦值
    在這裏插入圖片描述

  12. Jquery提交時不要再使用序列化,因爲插件中已經做了;另外不要讓jquery將數據轉爲字符串,以默認的對象的形式傳遞過去
    在這裏插入圖片描述

  13. 重啓服務器;數據讀取成功
    在這裏插入圖片描述

  14. 但是這種方式很不友好,我們做如下改變:
    1.1 刪除action提交地址
    在這裏插入圖片描述
    在這裏插入圖片描述
    1.2 修改input提交方式爲submit
    在這裏插入圖片描述
    1.3 修改使用普通form提交方式
    在這裏插入圖片描述
    1.4 App.js中指定文件的後綴名
    在這裏插入圖片描述
    1.5 重新運行服務器,成功
    在這裏插入圖片描述
    2 重新使用按鈕提交
    在這裏插入圖片描述

完整版,標紅的爲注意事項
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章