【问题标题】:What is best solution file upload for python serverpython服务器的最佳解决方案文件上传是什么
【发布时间】:2017-05-12 00:23:24
【问题描述】:

我编写 python 服务器和 android 客户端。 程序的逻辑是客户端向服务器发送多个文件。
我首先尝试 C/C++ 套接字服务器但收到错误。所以我改变了python。因为服务器在树莓派上。
我必须实现文件上传、音频流。所以我觉得这个逻辑。

1.客户端向服务器发送http请求
2.服务器收到请求后,服务器创建tcp socket并监听。
3. 客户端收到成功响应,连接服务器并上传文件。

音频流将实现类似的方式。

可以这样实现吗?或者,还有更好的方法?
请给我一个提示如何实现它。

【问题讨论】:

  • 尝试改造,它是一个甜蜜的图书馆
  • 首先实现服务端socket并先监听,然后客户端向服务端发送请求,然后握手并返回响应给客户端
  • @Rajput 我必须处理文件上传、音频流。如何区分消息和数据?
  • @Roy 谢谢。我会搜索。

标签: android python sockets raspberry-pi file-transfer


【解决方案1】:

在小型部署中尽可能忽略套接字。它们处理起来稍微复杂一些。

现在假设您想将图像文件或其他文件上传到 python,您可以使用 Flask Upload

接下来转到音频,如果您必须将音频从客户端上传到服务器,则无需流式传输或其他内容,只需在上传期间传递适当的 MIME 类型。

ALLOWED_AUDIO_EXTENSIONS = set(['wav', 'ogg', 'mp3', ])

def audio_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in ALLOWED_AUDIO_EXTENSIONS

if file and audio_file(file.filename):
    filename = secure_filename(file.filename)
    #perform some application logic with audio files and then save them in file system or call boto3 to save on s3

    file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
    return redirect(url_for('uploaded_file',
                                    filename=filename))

代码是根据烧瓶示例修改的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    相关资源
    最近更新 更多