欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

圖片上傳之FileAPI與NodeJs

HTML5之fileAPI

創(chuàng)新互聯(lián)公司服務項目包括扎蘭屯網(wǎng)站建設、扎蘭屯網(wǎng)站制作、扎蘭屯網(wǎng)頁制作以及扎蘭屯網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,扎蘭屯網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到扎蘭屯省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

HTML5之fileAPI使得我們處理圖片上傳更加簡單。

實例

html代碼

<div class="form-group">
  <label for="modal_inputFile" class="col-md-3 control-label label-font">位置圖:</label>
  <div class="col-md-9">
   <input type="text" readonly="" class="form-control" placeholder="點擊選擇文件">
   <input type="file" id="modal_inputFile">
   <img src="" class="img-responsive" id="modal-pre" alt="預覽區(qū)" >
  </div>
</div>

效果:

圖片上傳之FileAPI與NodeJs

這里我們可以通過$("#modal_inputFile")[0].files[0]來獲取到圖片的信息。

圖片上傳之FileAPI與NodeJs

這里有name,size,type這幾個我們常用的屬性。

實現(xiàn)預覽

選擇好圖片后,我們都希望會有個預覽功能。這個html5也為我們想到了。

他提供了FileReader這個新的對象給我們。

FileReader該接口主要用來把文件讀入內(nèi)存,并且讀取文件中的數(shù)據(jù)。

這樣我們就可以通過date url來實現(xiàn)預覽了。

var file = document.getElementById(modal_inputFile'').files[0];
 if (!file) {
 return false;
 }
 var reader = new FileReader();
 reader.readAsDataURL(file);
 reader.onload = function(e) {
 var ib_pre = document.getElementById('modal-pre');
 ib_pre.src = this.result;
}

這樣就實現(xiàn)了預覽。

圖片上傳之FileAPI與NodeJs

我們再來查看下img的src。

<img src="data:image/png;base64,iVBORXXXXXXXXXXXXX....XXXXXXX" class="img-responsive" id="modal-pre" alt="預覽區(qū)" >

src是base64編碼。

與后臺對接

既然前端使用文件API能滿足我們的需求,那我們接下來就需要上傳到服務端了。當仁不讓的就是NodeJs了。

前端請求

下面是前端發(fā)起請求的例子:

//圖片上傳
$('#preUpload').on('click', function(e) {
 var data = new FormData();
 var _files = $("#modal_inputFile")[0].files[0];
 var ect = ($("#modal_inputFile")[0].files[0]).name.split('.')[1];
 if(ect !== 'png'){
  alert('請上傳png圖片!')
  return;
 }
 data.append("modal_file", _files);
 $.ajax({
  type: 'post',
  dataType: 'json',
  url: window.stnt_hosts + 'thirdAdmanage/upload/modal',
  data: data,
  contentType: false,
  processData: false
 }).done(function(data, status) {
  console.log('上傳成功');
 }).fail(function(err) {
  console.log('上傳失敗');
 })
})

這里通過FormData來處理我們需要上傳的數(shù)據(jù)。

這里的data數(shù)據(jù)是一個序列過的對象。后臺接受就行了。

后端處理

服務端我們使用node-formidable來處理圖片的保存等操作。

見代碼:

var formidable = require("formidable");
var form = new formidable.IncomingForm();
//臨時目錄
form.uploadDir = './upload/';
//預覽圖片上傳
router.post('/upload/modal', function(req, res, next) {
 form.parse(req, function(err, fields, files) {
  if (files.modal_file) {
   rename(files.modal_file.path, files.modal_file.name, 'preview')
   res.send({
    stats:'success',
    data:[]
   })
  }
 })
});
function rename(old, _new, code, bId) {
 var path = './upload/' + code + '/';
  fs.exists(path, function(exists) {
   if (!exists) {
    fs.mkdir(path)
    console.log('創(chuàng)建文件夾!')
   }
   fs.renameSync(old, path + _new, function(err) {
    if (err) {
     console.log(err);
     return;
    }
    console.log('上傳成功!')
   })
  })
}

這里使用fs.renameSync的原因是,我們里面設置的臨時目錄form.uploadDir是存在于內(nèi)存中的數(shù)據(jù),并不是真正的圖片。

類似這樣

圖片上傳之FileAPI與NodeJs

我們需要通過fs的方法,將文件重新保存到我們需要的地方即可。這時候就是圖片了。

最后

這里的form.parse(req, function(err, fields, files)中的fields與files到底是什么對象,一定要自己調(diào)試著看??赐昴憔兔靼资鞘裁戳恕?/p>

之前我不清楚的時候就是打開瀏覽器就搜索,結果可想而知很慘,幾乎全是錯的。

所以不清楚的話一定要去查github。

還有app.use(bodyParser.urlencoded({ extended: true }));的作用是用來解析我們通常的form表單提交的數(shù)據(jù),也就是請求頭中包含這樣的信息: Content-Type: application/x-www-form-urlencoded

app.use(bodyParser.json())是用來解析json的。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持創(chuàng)新互聯(lián)!

當前標題:圖片上傳之FileAPI與NodeJs
分享鏈接:http://aaarwkj.com/article34/jpoose.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站設計公司、網(wǎng)頁設計公司、微信公眾號、建站公司、自適應網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
国产精品一区二在线观看| 真实夫妻露脸爱视频九色网| 亚洲区一区二区三区精品| 久久精品一区二区熟女| 久草免费福利视频资源站| 日本一区二区三区中文字幕不卡| 久久精品亚洲熟女av蜜謦| 91精品国产91久久综合福利| 91免费福利激情视频| 日韩精品一区伦理视频| 婷婷色中文字幕综合在线| 国产美女口爆吞精久久| 中文字幕日本精品人妻在线| 国产不卡视频观看网站| 翔田千里精品久久一区二| 欧美色欧美亚洲另类视频| 亚洲午夜激情视频在线| 欧美老熟妇精品一区二区| 人妻少妇av免费久久蜜臀| 亚洲乱码一区二区av| 亚洲国产精品一区二区成人| 午夜夫妻生活视频在线观看| 麻豆午夜视频免费在线观看| 精品视频中文字幕天码| 日本不卡的三区四区五区| 免费观看毛片一区二区三区| 欧美日韩在线一区2区| 亚洲精品免费福利视频| 91精品一久久香蕉国产| 2021天天操夜夜爽| 日韩欧美亚洲国产另类| 五月婷婷六月丁香综合激情| 亚洲女人下体毛茸茸视频| 一区二区高清中文字幕| 精品欧美黑人一区二区| 97热久久精品中文字幕一区| 日本在线观看高清区一区二| 精品亚洲国产成人av| 亚洲精品a在线观看av| 色哟哟在线观看精品一区| 欧美日韩精品视频在线|