首页 > Web开发 > 详细

web的文件上传

时间:2019-07-02 00:22:20      阅读:112      评论:0      收藏:0      [点我收藏+]

server.py

from flask import *

app=Flask(__name__)
@app.route(‘/upload‘,methods=["POST"])
def uploadFile():
    msg=""
    try:
        if "fileName" in request.values:#如果服务器收到传值信息
            fileName=request.values.get("fileName")
            data=request.get_data()
            fobj=open("upload"+fileName,"wb")
            fobj.write(data)#写入传值的文档内容
            fobj.close()
            msg="OK"
        else:
            msg="没有按要求上传文件"
    except Exception as err:
        print(err)
        msg=str(err)
    return msg
if __name__=="__main__":
    app.run(port=5000,debug=True)

  

client.py

import urllib.request
import urllib.parse
import os

url="http://127.0.0.1:5000/upload"
fileName=input("Enter the file:")
if os.path.exists(fileName):#如果输入的文件是存在的情况下
    fobj=open(fileName,"rb")#因为文件是存在的所以我们直接打开文件
    data=fobj.read()#读取文件中的资料
    fobj.close()#关闭文件
    ‘‘‘找到文件的文本结尾
     p=fileName.rfind("\\")
    fileName=fileName[p+1:]
    ‘‘‘

    p=fileName.rfind("\\")
    fileName=fileName[p+1:]
    print("准备上传:"+fileName)
    ‘‘‘
    客户端要上传二进制数据,要设置表头content-type
     headers={‘content-type‘:‘application/octet-stream‘}
    ‘‘‘


    headers = {‘content-type‘: ‘application/octet-stream‘}
    purl=url+"?fileName="+urllib.parse.quote(fileName)#把文件上传给服务器url+文件名。

    ‘‘‘
    urllib.request.Request()三个参数重点
    地址,上传的文件内容,头
    ‘‘‘
    req=urllib.request.Request(purl,data,headers)
    msg=urllib.request.urlopen(req)
    msg=msg.read().decode()#读取返回值并decode()解码
    if msg=="OK":#表示上传成功
        print("成功上传:",len(data),"字节")
    else:
        print(msg)
else:
    print("文件不存在")

  

 

web的文件上传

原文:https://www.cnblogs.com/byczyz/p/11117643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!