python +java 用socket在局域网进行图片上传给springboot后端并进行前端访问
生活随笔
收集整理的這篇文章主要介紹了
python +java 用socket在局域网进行图片上传给springboot后端并进行前端访问
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
客戶端:
python
服務端:
java(springboot項目)
設備是兩臺電腦,一臺windows一臺ubuntu系統
客戶端:
import os import sys import struct #import win32uiimport sockethost = '192.168.31.131'//局域網 port = 8003 bufsize = 1024 addr = (host, port)def socket_client():try:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect((host, port))except socket.error as msg:print(msg)sys.exit(1)#print(s.recv(1024).decode("utf-8"))while 1:fp = open(filepath, 'rb')while 1:data = fp.read(1024)if not data:print('{0} file send over...'.format(filepath))breaks.send(data)#print(s.recv(1024).decode("utf-8"))s.close()breakif __name__ == '__main__':socket_client()只要關閉自己的windows防火墻,可以在其他電腦上對自己電腦的端口發送圖片文件
服務端
public class TcpClient {public static void main(String[] args) {try ( // 創建一個ServerSocket監聽8080端口的客戶端請求ServerSocket server = new ServerSocket(8003); // 使用accept()阻塞當前線程,等待客戶端請求Socket socket = server.accept(); // 由Socket獲得輸入流,并創建緩沖輸入流BufferedInputStream in = new BufferedInputStream(socket.getInputStream()); // 由文件輸出流創建緩沖輸出流FileOutputStream out = new FileOutputStream("C:\\Users\\14172\\Desktop\\myback\\resources\\static\\0.png")) { // 準備一個緩沖區byte[] buffer = new byte[1024]; // 首次從Socket讀取數據int len = in.read(buffer);while (len != -1) { // 寫入數據到文件out.write(buffer, 0, len); // 再次從Socket讀取數據len = in.read(buffer);}System.out.println("接收完成!");} catch (IOException e) {e.printStackTrace();}}}先運行服務端,再運行客戶端
上面的路徑是自己的springboot項目文件夾:
可以看到多了0.png圖片
啟動項目
由于添加了thymleaf依賴,訪問localhost:9000/0.png的時候可以直接訪問到圖片
也可以直接在html中寫
同樣也可以直接訪問到(不過需要刷新頁面)
總結
以上是生活随笔為你收集整理的python +java 用socket在局域网进行图片上传给springboot后端并进行前端访问的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: modelMapper.map的一个使用
- 下一篇: windows查看java进程详细信息的