欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs?實(shí)現(xiàn)簡(jiǎn)單的文件上傳功能(示例詳解)

 更新時(shí)間:2022年02月28日 10:04:12   作者:iwang5566  
這篇文章主要介紹了nodejs?實(shí)現(xiàn)簡(jiǎn)單的文件上傳功能,文件上傳方式分為三種,本文通過(guò)實(shí)例代碼給大家詳細(xì)介紹,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

首先需要大家看一下目錄結(jié)構(gòu),然后開(kāi)始一點(diǎn)開(kāi)始我們的小demo。

文件上傳總計(jì)分為三種方式:

1.通過(guò)flash,activeX等第三方插件實(shí)現(xiàn)文件上傳功能。

2.通過(guò)html的form標(biāo)簽實(shí)現(xiàn)文件上傳功能,優(yōu)點(diǎn):瀏覽器兼容好。

3.通過(guò)xhr level2的異步請(qǐng)求,可以百度f(wàn)ormData對(duì)象。

這里使用2做個(gè)練習(xí)。

node插件請(qǐng)看下package.json文件

{
  "name": "upload",
  "version": "0.1.0",
  "description": "upload demo",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "iwang",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.15.2",
    "connect-multiparty": "^2.0.0",
    "express": "^4.14.0"
  }
}

  dependencies中就是這次demo的依賴插件。我用的node.js是4.4.4版本的,大家可以把上面代碼替換到你的package.json文件中,執(zhí)行npm install 可以自動(dòng)安裝demo需要的三個(gè)依賴插件。

app.js

/**
 * Created by iwang on 2017/1/15.
 */
//express使用的是@4版本的。
var express = require('express');
//form表單需要的中間件。
var mutipart= require('connect-multiparty');

var mutipartMiddeware = mutipart();
var app = express();
//下面會(huì)修改臨時(shí)文件的儲(chǔ)存位置,如過(guò)沒(méi)有會(huì)默認(rèn)儲(chǔ)存別的地方,這里不在詳細(xì)描述,這個(gè)修改臨時(shí)文件儲(chǔ)存的位置 我在百度里查找了三四個(gè)小時(shí)才找到這個(gè)方法,不得不說(shuō)nodejs真難學(xué)。//所以在這里留下我的學(xué)習(xí)記錄,以備以后翻閱。
app.use(mutipart({uploadDir:'./linshi'}));
//設(shè)置http服務(wù)監(jiān)聽(tīng)的端口號(hào)。
app.set('port',process.env.PORT || 3000);
app.listen(app.get('port'),function () {
    console.log("Express started on http://localhost:"+app.get('port')+'; press Ctrl-C to terminate.');
});
//瀏覽器訪問(wèn)localhost會(huì)輸出一個(gè)html文件
app.get('/',function (req,res) {
    res.type('text/html');
    res.sendfile('public/index.html')
//這里用來(lái)玩,express框架路由功能寫(xiě)的,與上傳文件沒(méi)沒(méi)有關(guān)系。
app.get('/about',function (req,res) {
    res.type('text/plain');
    res.send('Travel about');
//這里就是接受form表單請(qǐng)求的接口路徑,請(qǐng)求方式為post。
app.post('/upload',mutipartMiddeware,function (req,res) {
    //這里打印可以看到接收到文件的信息。
    console.log(req.files);
    /*//do something
    * 成功接受到瀏覽器傳來(lái)的文件。我們可以在這里寫(xiě)對(duì)文件的一系列操作。例如重命名,修改文件儲(chǔ)存路徑 。等等。
    *
    * */
    //給瀏覽器返回一個(gè)成功提示。
    res.send('upload success!');

public/index.js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="/upload" enctype="multipart/form-data" method="post">
        <p>附件:<input type="file" name="myfile" style=""></p>
        <p>
            <input type="submit">
        </p>
    </form>
</body>
</html>

瀏覽器地址訪問(wèn)index.html

選取文件:我選擇了一個(gè)timg.jpg的文件

點(diǎn)擊提交后跳轉(zhuǎn)了頁(yè)面,提示成功上傳

我們看一下,linshi名字的問(wèn)價(jià)加下是否已經(jīng)存在我們上傳的文件,下面的圖證明文件已經(jīng)儲(chǔ)存在了upload_demo/linshi下面,圖片名字被改成了一個(gè)臨時(shí)命名。

我們可以在app.js中寫(xiě)代碼處理我們的圖片文件了。

demo要點(diǎn):

1.首先安裝好nodejs 我這里的版本為4.4.4。

2.創(chuàng)建一個(gè)英文命名的文件。手動(dòng),或使用npm init創(chuàng)建一個(gè)package.json文件。把上述package.json的文件內(nèi)容替換掉你創(chuàng)建的package.json文件內(nèi)容。

3.使用npm install 安裝package.json中的插件。自動(dòng)生成了node_modules文件。我們的依賴插件都放在了這里。

4.編寫(xiě)好我們的app.js index.html文件?;蛘邚?fù)制上述兩處代碼。

5.命令行執(zhí)行node app.js。

6.瀏覽器訪問(wèn)localhost:3000,即可出現(xiàn)我們的簡(jiǎn)單的上傳頁(yè)面了。

到此這篇關(guān)于nodejs 實(shí)現(xiàn)簡(jiǎn)單的文件上傳功能的文章就介紹到這了,更多相關(guān)nodejs 文件上傳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter

    node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter

    我們了解到,Node采用了事件驅(qū)動(dòng)機(jī)制,而EventEmitter就是Node實(shí)現(xiàn)事件驅(qū)動(dòng)的基礎(chǔ),本文主要介紹了node.js自定義實(shí)現(xiàn)EventEmitter,感興趣的可以了解一下
    2021-07-07
  • OpenSCA技術(shù)原理npm依賴示例解析

    OpenSCA技術(shù)原理npm依賴示例解析

    這篇文章主要為大家介紹了OpenSCA技術(shù)原理npm依賴示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 詳解Node.js讀寫(xiě)中文內(nèi)容文件操作

    詳解Node.js讀寫(xiě)中文內(nèi)容文件操作

    在本篇文章中我們給大家分享了關(guān)于Node.js讀寫(xiě)中文內(nèi)容文件操作的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2018-10-10
  • Nest.js環(huán)境變量配置與序列化詳解

    Nest.js環(huán)境變量配置與序列化詳解

    這篇文章主要給大家介紹了關(guān)于Nest.js環(huán)境變量配置與序列化的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • nodejs中使用worker_threads來(lái)創(chuàng)建新的線程的方法

    nodejs中使用worker_threads來(lái)創(chuàng)建新的線程的方法

    這篇文章主要介紹了nodejs中使用worker_threads來(lái)創(chuàng)建新的線程的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • yarn的安裝及使用詳解

    yarn的安裝及使用詳解

    Yarn 就是一個(gè)類似于 npm 的包管理工具,它是由 facebook 推出并開(kāi)源,與 npm 相比,yarn 有著眾多的優(yōu)勢(shì),主要的優(yōu)勢(shì)在于:速度快、離線模式、版本控制,這篇文章主要介紹了yarn的安裝及使用教程,需要的朋友可以參考下
    2022-08-08
  • npm與nrm兩種方式查看源和切換鏡像詳解

    npm與nrm兩種方式查看源和切換鏡像詳解

    nrm(npm registry manager )是npm的鏡像源管理工具,它可以快速在讓你在本地源之間切換,下面這篇文章主要給大家介紹了關(guān)于npm與nrm兩種方式查看源和切換鏡像的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Node.js程序中的本地文件操作用法小結(jié)

    Node.js程序中的本地文件操作用法小結(jié)

    這篇文章主要介紹了Node.js程序中的本地文件操作用法小結(jié),作為運(yùn)行在服務(wù)器端的JavaScript解釋器,Node中自然擁有操作本地文件的方法,需要的朋友可以參考下
    2016-03-03
  • NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼

    NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼

    這篇文章主要介紹了NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11
  • Node.js批量給圖片加水印的方法

    Node.js批量給圖片加水印的方法

    這篇文章主要介紹了Node.js批量給圖片加水印的方法,本文分步驟給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2016-11-11

最新評(píng)論