Python的文件上传

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python的文件上传相关的知识,希望对你有一定的参考价值。

想写一个文件上传的东西.就是想 把文件上传进来,直接不显示,读出来,存进数据库,并返回记录 共多少条,导入多少条.

做的是web开发吗?可以用框架来解决这个问题,推荐使用Django框架,灵活强大,特别适合做新闻、博客类网站。用Python上传文件,要用到中间件,找一个适合你用的中间件,通过这个中间件上传,如果是自己写的话会很麻烦。存入数据库的不应该是文件而应该是文件的路径,存入了多少条数据这个就比较好实现了,用一个计数变量,保存一条就增加1,最后返回这个变量就可以了。 参考技术A

Python中使用GET方法实现上传文件,下面就是用Get上传文件的例子,client用来发Get请求,server用来收请求。

请求端代码:

import requests #需要安装requests
with open('test.txt', 'rb') as f:
requests.get('http://服务器IP地址:端口', data=f)

服务端代码:

var http = require('http');
var fs = require('fs');
var server = http.createServer(function(req, res)
    //console.log(req);
    var recData = "";
    req.on('data', function(data)
        recData += data;
    )
    req.on('end', function(data)
        recData += data;
        fs.writeFile('recData.txt', recData, function(err)
        console.log('file received');
        )
    )
    res.end('hello');
)
server.listen(端口);

用Python上传文件

Python正在吞噬这个世界!您会发现许多热情的Python程序员和同样多的批评者,但不可否认的是,Python在当今软件开发中是一个强大的、相关的、不断增长的力量。

Python只是一种语言,语言不能解决业务问题,如工作流、体系结构和物流;这些都取决于您,开发人员!您选择的包、实现的架构和遵循的策略都将影响Python项目的成功。让我们看一下使用Python将文件上传到云中的过程。我将讨论每个团队在实现文件上传和管理解决方案时所面临的一些注意事项,然后给出一个简洁的菜谱,让您可以使用Filestack的PythonSDK使用Python上传文件。

问题是:如何管理用户生成的上载?

你已经建立了你的MVP,所有的测试都通过了。你有能力通过HTML表单上传文件到你的网站上,这很容易!只需在表单提交上发布一个简单的帖子,您的服务器就能捕捉到用户抛出的任何内容。不过,这只是个开始-接下来是困难的部分。

确保用户在上传、转换和共享内容时有很好的体验,这意味着为他们提供可靠的、可恢复的、快速的上传。这意味着为他们提供裁剪、调整大小和调整上传所需的工具。这意味着将文件从一种格式转换为另一种格式。这当然意味着优化交付,这样他们就可以保存数据,并尽可能快地从功能强大的分布式CDN中获取最高质量的内容。

解决方案:使用PythonSDK

当一个项目能够将繁重的工作与业务逻辑分开时,每个人都会赢。您可以用一小群开发人员和一台时间机器从头开始构建所有东西,但既然您可以使用Filestack API,为什么要这样做呢?为什么直接调用API,在自己的代码中实现所有东西,而您可以在SDK中弹出并在一天内调用它呢?

获取SDK

使用PIP,运行以下命令:

PIP安装filestack-python

当文件自动为您加载时,您应该会看到进度条的良好显示:

技术分享图片

一旦你有了Filestack PythonSDK安装后,只需将其放入您自己的Python脚本中,使用Filestack API键创建客户机实例,然后调用client.upload() 有一些参数。以如下方式导入:

从filstack导入客户端

那个客户帮你做所有的重活。这里有一个简单的方法可以让它发挥作用:

所需经费:

创建一个文件来测试您想要尝试的目录中的内容。我会叫我的‘upyougo.py’。为上传示例添加一个图像。我的漫画是xkcd和飞来飞去的毕多诺星的连环画。

 
from filestack import Client
 
client = Client(“APIKEY”)
 
 
params = {‘mimetype’: ‘image/png’}
 
new_filelink = client.upload(filepath=”python.png”, params=params)
 
print(new_filelink.url)
 

技术分享图片

确保用实际的API键替换“每个Key”。

通过将文件名作为命令行中的参数传递给Python,运行此操作,如下所示:

 
python upyougo.py
 

就这样使用这个简单的代码,我们可以使用Python成功地将文件从本地机器上传到Filestack应用程序。上传完成后,您应该会看到一个URL输出到您的终端。复制并粘贴到您的浏览器查看,并尝试一些我们的转换URL,以进一步发挥它!

以上是关于Python的文件上传的主要内容,如果未能解决你的问题,请参考以下文章

Python的文件上传

python+selenium上传本地文件

python Django之文件上传

python发送post请求上传文件,无法解析上传的文件

python 上传文件

django python上传文件有中文名称报错