国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular2-primeNG文件上傳模塊FileUpload使用詳解

2019-11-19 17:56:21
字體:
來源:轉載
供稿:網友

近期在學習使用Angular2做小項目,期間用到很多primeNG的模塊。
本系列將結合實戰總結angular2-primeNG各個模塊的使用經驗。

文件上傳模塊FileUploadModule

首先要在使用該組件的模塊內導入文件上傳模塊

本例中為:

admin.module.ts

import {FileUploadModule} from 'primeng/primeng';@NgModule({  imports: [FileUploadModule]})

在需要使用上傳功能的組件的HTML頁里添加:

demo-add.component.html:

<label>照片:</label><div>  <!--上傳組件 -->   <p-fileUpload      name="uploadPhoto[]"      url="http://localhost:3333/api/upload"     (onUpload)="onPhotoUpload($event)" accept="image/*" maxFileSize="1000000">     <template pTemplate type="content">       <ul *ngIf="photoFiles.length">         <li *ngFor="let file of photoFiles">           {{file.name}} - {{file.size}} bytes         </li>       </ul>     </template>   </p-fileUpload></div><!--如果圖片上傳成功,顯示圖片 --><div *ngIf="demo.photo">  <img src="{{photoUrl}}"></div>

在組件里寫入事件處理及定義變量:

demo-add.component.ts:

class Demo{  photo:String;}demo = new Demo();photoFiles: any[] = [];photoUrl:string;onPhotoUpload(event) {  this.demo.photo = JSON.parse(event.xhr.response).data.name;  this.photoUrl ="upload/demo/"+this.demo.photo;    for(let file of event.files) {      this.photoFiles.push(file);    }  }

onPhotoUpload函數為onUpload(上傳)異步事件觸發的回調函數,接收一個$event參數,這里我們用到的是event.xhr,這是一個XMLHTTPREQUEST對象。我們用JSON.parse去解析,后臺NODEJS代碼:

router.post('/upload', function (req, res) {  //文件  const photoData = req.files.uploadPhoto[0];  //文件路徑  const filePath = photoData.path;  //讀取文件  fs.readFile(filePath, function (err, data) {    //取時間戳用來命名    const timestamp = Date.now();    //取文件類型用來命名    const type = photoData.type.split('/')[1];    //命名文件    const photo = timestamp + '.' + type;    //存儲路徑    const newPath = path.join(__dirname, '../', 'upload/demo/' + photo);    //寫入文件    fs.writeFile(newPath, data, function (err) {      //返回狀態1表示成功,返回的數據是存儲后的文件名      const reply = {        status: 1,        data: {          name: photo        }      };      res.end(JSON.stringify(reply));    })  });});

至此FileUpload異步上傳文件,成功后顯示文件的功能就實現了。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家港市| 渝中区| 射阳县| 岳阳县| 界首市| 嵊州市| 炎陵县| 东明县| 夏邑县| 桦甸市| 洪洞县| 镇坪县| 广宁县| 航空| 呼和浩特市| 肥城市| 晋城| 莆田市| 遂溪县| 仁化县| 全南县| 罗定市| 乡城县| 昆明市| 灵川县| 会昌县| 民乐县| 宣汉县| 高唐县| 阿克陶县| 开平市| 九寨沟县| 柳州市| 辰溪县| 宁河县| 正阳县| 阿克陶县| 昭觉县| 抚顺县| 库车县| 阳江市|