摘要:圖片上傳,解析數(shù)據(jù),存儲(chǔ)文件。參考參考不處理數(shù)據(jù)不設(shè)置請(qǐng)求頭跨域編碼保留擴(kuò)展名文件大小存儲(chǔ)路徑解析數(shù)據(jù)獲取文件路徑修改之后的名字同步讀取文件存儲(chǔ)文件刪除文件
圖片上傳,解析formData數(shù)據(jù),存儲(chǔ)文件。
參考1 http://www.cnblogs.com/yuanke...
參考2 https://github.com/felixge/no...
index.html
test.js
$("button").on("click", function (e) { e.preventDefault() var obj = new FormData(); obj.append("img",$("input").get(0).files[0]); $.ajax({ url:"http://localhost:8081/test", type:"post", data:obj, processData:false, // 不處理數(shù)據(jù) contentType : false, // 不設(shè)置請(qǐng)求頭 cache:false, success:function(data){ console.log(data) } }) })
node app.js
const express = require("express") const fs = require("fs") const formidable = require("formidable") const app = express() const bodyParser = require("body-parser") app.use(bodyParser.urlencoded({ extended: false })) app.post("/test",function(req,res){ // 跨域 res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With"); let form = new formidable.IncomingForm(); form.encoding = "utf-8"; // 編碼 form.keepExtensions = true; // 保留擴(kuò)展名 form.maxFieldsSize = 2 * 1024 * 1024; // 文件大小 form.uploadDir = "C:/Users/Administrator/Downloads" // 存儲(chǔ)路徑 form.parse(req,function(err,fileds,files){ // 解析 formData數(shù)據(jù) if(err){ return console.log(err) } let imgPath = files.img.path // 獲取文件路徑 let imgName = "./test." + files.img.type.split("/")[1] // 修改之后的名字 let data = fs.readFileSync(imgPath) // 同步讀取文件 fs.writeFile(imgName,data,function(err){ // 存儲(chǔ)文件 if(err){ return console.log(err) } fs.unlink(imgPath,function(){}) // 刪除文件 res.json({code:1}) }) }) }) app.listen(8081)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/82596.html
摘要:文件用來路由不同的服務(wù)器的有三個(gè)功能所以包含有三個(gè)模塊兒,開頭就引入了三個(gè)模塊兒,通過請(qǐng)求的路徑名稱我們路由到不同的處理模塊兒。鏈接到一個(gè)真實(shí)的服務(wù)器進(jìn)行域名解析,且始終使用網(wǎng)絡(luò)進(jìn)行查詢。 Node搭建DNS服務(wù)器的過程 接下來請(qǐng)深呼吸一大片代碼正奔涌而來,該項(xiàng)目托管在https://github.com/MaxMin-she... 請(qǐng)各位同仁大神view指導(dǎo)。1、route文件用來路...
摘要:前言在開發(fā)中,文件上傳是一個(gè)非常常見非常重要的功能。本文將介紹如何用處理上傳的文件。前端界面如下用戶從瀏覽器中選擇文件,點(diǎn)擊上傳,將發(fā)起請(qǐng)求到服務(wù)器,服務(wù)器將接受到的文件存儲(chǔ)在服務(wù)器硬盤中。 前言 在Web開發(fā)中,文件上傳是一個(gè)非常常見、非常重要的功能。本文將介紹如何用Node處理上傳的文件。 需求分析 由于現(xiàn)在前后端分離很流行,那么本文也直接采用前后端分離的做法。前端界面如下:sho...
摘要:在自己做一個(gè)簡(jiǎn)單的后臺(tái)管理系統(tǒng)時(shí),用的是作本地?cái)?shù)據(jù)庫,然后用了的組件來實(shí)現(xiàn)圖片的上傳,中間有遇到那么點(diǎn)小坑,這里記錄下,比較坑的一點(diǎn)就是,不知道文件的命名不能帶空格,然后改了好久文件這里的話,就是簡(jiǎn)單點(diǎn)的使用圖形界面框架的上傳組件,然后 在自己做一個(gè)簡(jiǎn)單的后臺(tái)管理系統(tǒng)時(shí),用的是node作本地?cái)?shù)據(jù)庫,然后用了Element-ui的upload組件來實(shí)現(xiàn)圖片的上傳,中間有遇到那么點(diǎn)小坑,這...
摘要:網(wǎng)址功能單圖多圖上傳圖片上傳預(yù)覽上傳進(jìn)度條分組上傳,分組查詢新建分組,刪除分組刪除圖片選擇圖片目錄結(jié)構(gòu)前端利用搭建,中引入子組件。實(shí)現(xiàn)分組的新增查詢刪除。利用模塊實(shí)現(xiàn)刪除文件功能。 公司要寫一些為自身業(yè)務(wù)量身定制的的組件,要基于Vue,寫完后擴(kuò)展了一下功能,選擇寫圖片上傳是因?yàn)樽约褐耙恢睂?duì)這個(gè)功能比較迷糊,所以這次好好了解了一下。演示在網(wǎng)址打開后的show.gif中。 使用技術(shù):Vu...
閱讀 1684·2021-11-23 09:51
閱讀 3174·2021-09-26 10:21
閱讀 798·2021-09-09 09:32
閱讀 881·2019-08-29 16:06
閱讀 3308·2019-08-26 13:36
閱讀 772·2019-08-26 10:56
閱讀 2564·2019-08-26 10:44
閱讀 1143·2019-08-23 14:04