01 ftp上传简单示例服务端

import json
import socket
import struct

server = socket.socket()
server.bind((‘127.0.0.1‘,8001))
server.listen()
conn,addr = server.accept()

#首先接收文件的描述信息的长度
struct_data_len = conn.recv(4)
data_len = struct.unpack(‘i‘,struct_data_len)[0]

# 通过文件信息的长度将文件的描述信息全部接收
print(‘data_len>>>‘,data_len)
file_info_bytes = conn.recv(data_len)
#将文件描述信息转换为字典类型,以便操作
file_info_json = file_info_bytes.decode(‘utf-8‘)
file_info_dict = json.loads(file_info_json) #{‘file_name‘: ‘aaa.mp4‘, ‘file_size‘: 24409470}

print(file_info_dict)

#统计每次接收的累计长度
recv_sum = 0

#根据文件描述信息,指定文件路径和文件名称
file_path = ‘D:\s18\jj‘ + ‘\\‘ + file_info_dict[‘file_name‘]

#接收文件的真实数据
with open(file_path,‘wb‘) as f:
    #循环接收,循环结束的依据是文件描述信息中文件的大小,也是通过一个初始值为0的变量来统计
    while recv_sum < file_info_dict[‘file_size‘]:
        every_recv_data = conn.recv(1024)
        recv_sum += len(every_recv_data)
        f.write(every_recv_data)

原文地址:https://www.cnblogs.com/work14/p/10235888.html

时间: 2024-10-02 22:07:49

01 ftp上传简单示例服务端的相关文章

Wince 6.0适用 .NET 使用HttpRequest的Post上传文件,服务端的Web API接收Post上传上来的文件 代码

//调用的示例 private string fileName = "InStorageData.csv"; string filePath = parentPath + CommonHelper.UPLOAD + "\\" + fileName;//文件的全路径含文件名称及扩展名 string strResult = CommonHelper.SendFile(filePath, new Uri(CommonHelper.strURL + "PostFo

图片上传客户端与服务端

//一万年太久,只争朝夕package uploadImg; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; /*建

H5+上传注意要点及服务端代码

// 上传文件 function upload(num) { console.log("num:" + num); console.log("headImg.src.:" + headImg.src); if(num == 0 && headImg.src.indexOf('img/header.png') > -1) { plus.nativeUI.alert("请添加头像图片文件!"); return; } consol

ftp上传小示例

客户端 1 import socket 2 import os 3 import json 4 import struct 5 #上传文件即发送我的数据,服务端来保存,保存的时候需要按照我的描述信息来 6 #所以需要先发送文件的描述信息:文件名和文件大小 7 8 client = socket.socket() 9 client.connect(('121.195.167.34',8004)) 10 11 file_size = os.path.getsize(r'E:\bilibili下载\老

多张图片上传简单示例

说是原创,其实也是参考了众多网上的贴子,非常感谢那些无私奉献的前辈们! 这个项目在要用到fileupload包及相关的io包(我上传到网上了,大家可以免费下载), 另外也可以用struts2包,为了省事我把整个struts2-core-2.3.24.1的包都导进项目里了,该包里面包含了上传用到的所有包. struts2包可以从官网上下载:http://struts.apache.org/download.cgi#struts23241 1.上传多个图片是要注意 第一:<form id="f

h5上传视频到服务端,存到指定位置,url保存到数据库,最后以特定格式显示

一.视频上传到服务器,存到指定位置. 试过n个方法中,最最靠谱的一个: http://www.cnblogs.com/xdp-gacl/p/4200090.html 二.url保存到数据库 1.项目中新建一个jdbc包 新建类 package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; i

C# 文件上传简单示例

Default.aspx <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>文件上传测试</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Fil

SpringMVC+Spring+MyBatis 整合与图片上传简单示例

一.思路: (一) Dao层: 1. SqlMapConfig.xml,空文件即可.需要文件头.2. applicationContext_dao.xml. a) 数据库连接池b) SqlSessionFactory对象,需要spring和mybatis整合包下的.c) 配置mapper文件扫描器. (二)Service层: 1.applicationContext_service.xml包扫描器,扫描@service注解的类.2.applicationContext_trans.xml配置事务

python之路--FTP 上传视频示例

# 服务端 import json import socket import struct server = socket.socket() server.bind(('127.0.0.1',8001)) server.listen() conn,addr = server.accept() #首先接收文件的描述信息的长度 struct_data_len = conn.recv(4) data_len = struct.unpack('i',struct_data_len)[0] # 通过文件信