日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

springboot与php通讯,Springboot第二篇:与前端fetch通信(关于传输数据上传文件等前后端的处理)...

發布時間:2025/3/12 php 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot与php通讯,Springboot第二篇:与前端fetch通信(关于传输数据上传文件等前后端的处理)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章講述的是關于前后端通信關于對應性,前端為react的View,會分傳遞不同值有不同的處理情況。

首先關于Springboot內的代碼變更都是在IndexController.java內,以下是代碼:

packagemaven.example.controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;

@RestController

@RequestMapping("/index")public classIndexController {

@RequestMapping("/home")publicString home() {return "Hello World!";

}

}

View Code

1:傳遞普通類型的數據,如string

前端:

fetch(‘http://localhost:8080/index/name‘, {

method:‘post‘,

headers: {"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"},

body:"firstName=zhu&lastName=yitian",

}).then(response=> response.text()).then(data =>{

alert(data)

}).catch(function(e){

alert("error:" +e);

})

后臺:

@RequestMapping("name")

public String getName(@RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName) {

return firstName + lastName;

}

@RequestParam:用于訪問 Servlet 請求參數。參數值轉換為已聲明的方法參數類型。

2:傳遞Json類型的數據,接收方為類

前端:

let temp ={};

temp.lastName= ‘yitian‘;

temp.firstName= ‘zhu‘;

fetch(‘http://localhost:8080/index/userName‘, {

method:‘post‘,

headers: {‘Content-Type‘: ‘application/json‘},

body:JSON.stringify(temp),

}).then(response=> response.text()).then(data =>{

alert(data)

}).catch(function(e){

alert("error:" +e);

})

后臺:

IndexController.java

@RequestMapping("userName")

public String getUserName(@RequestBody User user) {

return user.getFirstName() + user.getLastName();

}

User.java

packagemaven.example.entity;public classUser {privateString lastName;privateString firstName;publicString getLastName(){returnlastName;

}public voidsetLastName(String lastName){this.lastName =lastName;

}publicString getFirstName(){returnfirstName;

}public voidsetFirstName(String firstName){this.firstName =firstName;

}

}

3:傳遞Json類型的數據, 接收方為map

前端:

let temp ={};

temp.lastName= ‘yitian‘;

temp.firstName= ‘zhu‘;

fetch(‘http://localhost:8080/index/mapName‘, {

method:‘post‘,

headers: {‘Content-Type‘: ‘application/json‘},

body:JSON.stringify(temp),

}).then(response=> response.text()).then(data =>{

alert(data)

}).catch(function(e){

alert("error:" +e);

})

后臺:

@RequestMapping("mapName")public String getMapName(@RequestBody Mapmap) {return map.get("firstName") + map.get("lastName");

}

4. 上傳單個文件或圖片

前端:

上傳圖片

handleFile(){

let picture= document.getElementById("picture").files;

let formData= newFormData();

formData.append(‘file‘, picture[0]);

fetch(‘http://localhost:8080/index/getPicture‘, {

method:‘post‘,

body:formData,

}).then(response=> response.text()).then(data =>{

alert(data)

}).catch(function(e){

alert("error:" +e);

})

}

后臺:

@RequestMapping("getPicture")public String handleFormUpload(@RequestParam("file") MultipartFile file) {try{if (!file.isEmpty()) {byte[] bytes =file.getBytes();

File picture= new File("temp.png");//這里指明上傳文件保存的地址

FileOutputStream fos= newFileOutputStream(picture);

BufferedOutputStream bos= newBufferedOutputStream(fos);

bos.write(bytes);

bos.close();

fos.close();return "success";

}

}catch(IOException e){

System.out.println(e);

}return "failed";

}

5.上傳多個文件或圖片

前端:

上傳圖片

handleFile(){let picture= document.getElementById("picture").files;

let formData= newFormData();for (let i = 0; i < picture.length; ++i){

formData.append(‘file‘, picture[i]);

}

fetch(‘http://localhost:8080/index/getPictures‘, {

method:‘post‘,

body:formData,

}).then(response=> response.text()).then(data =>{

alert(data)

}).catch(function(e){

alert("error:" +e);

})

}

后臺:

@RequestMapping("getPictures")publicString handleFormsUpload(HttpServletRequest request) {try{

Listfiles = ((MultipartHttpServletRequest) request).getFiles("file");

MultipartFile file= null;for(int i = 0; i < files.size(); ++i){

file=files.get(i);if (!file.isEmpty()) {byte[] bytes =file.getBytes();

File picture= new File("temp" + String.valueOf(i) + ".png");//這里指明上傳文件保存的地址

FileOutputStream fos= newFileOutputStream(picture);

BufferedOutputStream bos= newBufferedOutputStream(fos);

bos.write(bytes);

bos.close();

fos.close();

}

}return "success";

}catch(IOException e){

System.out.println(e);

}return "failed";

}

總結

以上是生活随笔為你收集整理的springboot与php通讯,Springboot第二篇:与前端fetch通信(关于传输数据上传文件等前后端的处理)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天色综合天天 | 日韩性猛交ⅹxxx乱大交 | 激情五月婷婷综合网 | 免费高清黄色 | 黄色电影在线视频 | 国产尻逼视频 | 91视频官网 | 日日舔夜夜操 | av高清一区 | 久操亚洲| 国产影视av | 成人在线视频在线观看 | 欧美最猛性xxxxx(亚洲精品) | 中文字幕人妻无码系列第三区 | 伊人艹 | 欧美一区二区三区成人久久片 | 国产丝袜第一页 | 国产高清自拍一区 | 麻豆www| 久久婷婷热 | 亚洲精品免费在线播放 | 一级免费视频 | 国产极品探花 | 成人动漫在线播放 | 精品视频一二区 | 国产精品久久..4399 | 国产孕妇孕交大片孕 | 国 产 黄 色 大 片 | 男人天堂成人网 | 日韩激情啪啪 | 91爱爱网站 | 午夜精品99| 欧美成人手机视频 | 波多野结衣视频一区 | 在线成人毛片 | 日韩国产成人 | 台湾swag在线播放 | 少妇人妻互换不带套 | 激情伊人五月天 | 久久久久国产精品区片区无码 | 黄色a级片网站 | 绯色av一区二区三区高清 | 我爱我色成人网 | 一区二区三区四区在线播放 | 日本少妇xxxxx | 美女自拍视频 | 精品成人无码一区二区三区 | 伊人久久大香线蕉 | 在线观看羞羞漫画 | 成人里番精品一区二区 | 我和我的太阳泰剧在线观看泰剧 | 性史性农村dvd毛片 日韩精品在线视频观看 | 白石茉莉奈番号 | 狠狠地日 | 在线观看免费黄色小视频 | 欧美最猛黑人xxxx黑人猛交 | 快射视频网站 | 91av不卡 | 顶级黑人搡bbw搡bbbb搡 | 日本毛片视频 | 久久精品视频免费 | 97久久人人超碰caoprom欧美 | 日本免费一区二区三区四区五六区 | 伊人成年网 | 日韩理论在线 | 欧美专区视频 | 日韩视频精品一区 | 香蕉视频A | 久久亚洲少妇 | 精品产国自在拍 | 久久国产影院 | 欧美日韩国产色 | 国产精品日韩精品欧美精品 | 中文字幕制服诱惑 | 成人区视频 | 日韩在线视频免费 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 亚洲欧洲国产综合 | 中文字幕av一区二区 | 国产一区二区三区四区 | 黄色网页在线 | 欧美精品久久久久性色 | 人人干天天干 | 欧美日韩视频一区二区三区 | 在线观看国产福利 | 888奇米影视 | 黄色网免费看 | 成人午夜在线播放 | 色多多黄色| 少妇精品一区二区三区 | 成人免费做受小说 | 巨胸挤奶视频www网站 | 天堂网视频在线 | 亚洲最大福利 | 三级不卡 | 狠狠干2017| 婷婷国产视频 | 国产成人久久精品77777综合 | 高中男男gay互囗交观看 |