1. 程式人生 > 其它 >Java上傳圖片的方法

Java上傳圖片的方法

技術標籤:node.jscookiesession

文章目錄

01.cookie和session的區別

02.cookie

使用步驟:

  • 下載包 npm install cookie-parser -S
  • 引入包 var cookieParser=require('cookie-parser')
  • 配置app可以使用包(藉助express) app.use(cookieParser())

書寫cookie:

  • res.cookie('cookie名字',cookie的值,{maxAge:設定cookie存在的時間})

    res.cookie('user',req.query.username,{maxAge:100000});
    cookie名字為user
    cookie值為req.query.username(前端輸入的使用者名稱)
    cookie存在的時間為1000*100=100000=100秒

獲取cookie

  • req.cookies.cookie名字
    req.cookies.user 獲取名為user的cookie的值

03.在瀏覽器中寫入cookie

前臺:
在這裡插入圖片描述
後臺:

const express=require('express');
const app=express();

// 引入處理cookie的包
var cookieParser=
require('cookie-parser'); // 配置app可以使用cookie app.use(cookieParser()) app.use('/',express.static('./views/')); app.use('/public',express.static('./public/')) app.get('/login',(req,res)=>{ //如果cookie不存在書寫cookie if(!req.cookies.username){ res.cookie('user',req.query.username,{maxAge:100000}); } res.send('cookie書寫成功'
); }) //獲取剛才寫入的cookie app.get('/get',(req,res)=>{ res.send(req.cookies.user?req.cookies.user:'cookie不存在'); }) app.listen('8989');

前端ajax:

//失去焦點的時候發起ajax請求
$('input').blur(()=>{
    $.ajax({
        url:'http://localhost:8989/login',
        data:{
            username:$("input").val()
        },
        success(res){
            console.log(res);
            $("h1").html(res);
        }
    });
});

實現:寫入cookie test-cookie
在這裡插入圖片描述
在這裡插入圖片描述
獲取剛才寫入的cookie:
在這裡插入圖片描述

04.session

使用步驟:

  • 下載包 npm install express-session -S
  • 引入包 const session=require('express-session')
  • 配置可以使用session(配合express)
app.use(session({
	secret: 'keyboard cat',
	resave: false,
	saveUninitialized: true,
	cookie:{
		// 設定時長ms
		maxAge:60000
	}
}))

書寫session

  • req.session.session名字='session的值'
    req.session.user='test'
    session的名字是user
    session的值是test

獲取session

  • req.session.session名字
    req.session.user 獲取名為user的session的值

session持久化

  • session預設儲存在伺服器上,如果不做特殊處理,關閉伺服器,session會消失
  • 可以配置session持久化解決

配置session持久化

  • 下載包 npm install nedb-session-store -S
  • 引入包 const nedbstore=require('nedb-session-store')(session)
  • 在配置session中配置持久化
    在這裡插入圖片描述
    filename:儲存的session地址 名字可以自定義
    持久化配置成功執行時會生成filename中自定義的檔案
    在這裡插入圖片描述

05.伺服器端寫入session

const express=require('express');
const app=express();
//引入包使用session
const session=require('express-session');

//引入session持久化的包
const nedbstore=require('nedb-session-store')(session);

app.use(session({
    secret:'keyboard cat',
    resava:false,
    saveUninitialized:true,
    cookie:{
        maxAge:1000*10
    },
    //配置持久化
    store:new nedbstore({
        filename:'test.db'
    })
}));

//寫入值為 寫入session 的session
app.get('/write',(req,res)=>{
    req.session.name='寫入的session';
    res.send('session配置成功');
});

//獲取剛才寫入的session
app.get('/get',(req,res)=>{
    res.send('獲取配置的session:'+req.session.name);
});

app.listen('8989'); 

寫入session:
在這裡插入圖片描述
獲取session
在這裡插入圖片描述

2021.01.09 09:11