当前位置:首页 > 云服务器 > 正文内容

python上传文件到服务器(vue上传文件到服务器)

zhuangbi888.com2021-05-31 14:01云服务器173

直接上代码

1、服务器接口

python上传文件到服务器(vue上传文件到服务器)

import flask, os,sys,time

from flask import request, send_from_directory

interface_path = os.path.dirname(__file__)

sys.path.insert(0, interface_path) #将当前文件的父目录加入临时系统变量

server = flask.Flask(__name__)

#get方法:指定目录下载文件

@server.route('/download', methods=['get'])

def download():

fpath = request.values.get('path', '') #获取文件路径

fname = request.values.get('filename', '') #获取文件名

if fname.strip() and fpath.strip():

print(fname, fpath)

if os.path.isfile(os.path.join(fpath,fname)) and os.path.isdir(fpath):

return send_from_directory(fpath, fname, as_attachment=True) #返回要下载的文件内容给客户端

else:

return '{"msg":"参数不正确"}'

python上传文件到服务器(vue上传文件到服务器)

else:

return '{"msg":"请输入参数"}'

# get方法:查询当前路径下的所有文件

@server.route('/getfiles', methods=['get'])

def getfiles():

fpath = request.values.get('fpath', '') #获取用户输入的目录

print(fpath)

if os.path.isdir(fpath):

filelist = os.listdir(fpath)

files = [file for file in filelist if os.path.isfile(os.path.join(fpath, file))]

return '{"files":"%s"}' % files

# post方法:上传文件的

@server.route('/upload', methods=['post'])

def upload():

fname = request.files.get('file') #获取上传的文件

if fname:

t = time.strftime('%Y%m%d%H%M%S')

new_fname = r'upload/' + t + fname.filename

fname.save(new_fname) #保存文件到指定路径

return '{"code": "ok"}'

else:

return '{"msg": "请上传文件!"}'

server.run(port=8000, debug=True)

2、客户端请求

import requests

import os

#上传文件到服务器

file = {'file': open('hello.txt','rb')}

r = requests.post(')

print(r.text)

#查询fpath下的所有文件

r1 = requests.get('/'})

print(r1.text)

#下载服务器download目录下的指定文件

r2 = requests.get('/'})

file = r2.text #获取文件内容

basepath = os.path.join(os.path.dirname(__file__), r'download/')

with open(os.path.join(basepath, 'hello_download.txt'),'w',encoding='utf-8') as f: #保存文件

f.write(file)

相关文章

域名dns服务器是什么(域名dns作用)

域名dns服务器是什么(域名dns作用)

DNS服务器和域名服务器同义。 DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存...

域名必须完成实名认证才能备案,同时(网站域名实名认证需要上传扫描件吗)

域名必须完成实名认证才能备案,同时(网站域名实名认证需要上传扫描件吗)

我们知道,服务器对外提供服务,基本上都是放置在公网上的。所以说服务器放置在公网上会面临很多攻击,如果不做好必要的防护措施,服务器被人攻击只是时间上的问题。 而我们面临的众多攻击中,DDoS攻击是最常见...

云服务器有哪些优点与缺点?

云服务器有哪些优点与缺点?

云服(fú)務(wù)器(qì)的优點(diǎn)可以從(cóng)以下(xià)几方面讲: 第(dì)一,從(cóng)技術(shù)方面来说,云服(fú)務(wù)器(qì)含有(yǒu)云计算...

配台式电脑清单和价格(日本配台式电脑便宜吗)

配台式电脑清单和价格(日本配台式电脑便宜吗)

题主你好,在回答云服务器是否可以做游戏服务器这个问题时我们先来了解一些基础知识: 1、什么是服务器 服务器是网络环境中的高性能计算机,可以侦听网络上的其他计算机(客户机)提交的服务请求,并提供相应的服...

香港超高防服务器(香港高防服务器推荐)

香港超高防服务器(香港高防服务器推荐)

本篇文章给大家谈谈香港超高防服务器,以及香港高防服务器推荐对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 文章目录列表: 1、香港高防服务器为什么非常少见 2、什么是香港高防服务器?...

服务器每天被攻击怎么解决(如果服务器遭到攻击怎么处理)

服务器每天被攻击怎么解决(如果服务器遭到攻击怎么处理)

网站被攻击无法访问怎么办?服务器一直被攻击怎么办?如何才能防范服务器被攻击? 常见的攻击有两种.一种是CC.一个是DDOS. 如果是DDOS.必须要机房有硬防才可以防御的,这个必须需要带宽充足才可以...

没有固定ip地址如何设置外网访问公司服务器?

没有固定ip地址如何设置外网访问公司服务器?

您好,出现这种现象的原因在于台式机没有公网IP,所以处于外网的iPad不能直接访问。 这里建议使用花生壳的内网穿透功能将台式机的内网IP地址映射到互联网上。 具体操作如下: 内网穿透 1、在电脑上...

1核云服务器哪个版本数据库(阿里云服务器和数据库都要买吗)

1核云服务器哪个版本数据库(阿里云服务器和数据库都要买吗)

其实使用云数据库的好处,其实很简单,说白了就是省时、省力、省心。 有人说安装一个数据库很简单,为什么要花钱去买云数据库呢?比如Mysql,本身就是免费的,我何不自己安装呢?那么我们从这几点看看成本:...