当前位置: 首页 > 知识库问答 >
问题:

从烧瓶中的文件存储对象提取文件

宦子琪
2023-03-14

我正在学习如何在烧瓶中使用文件上传。早些时候从这里,我与pdf文件上传和阅读它的内容。这发生在client.py文件中。

现在,我想将文件从客户端传递到本地运行的服务器。当我使用请求时。文件,则将其作为文件存储对象获取。所以,在不保存或不提供文件路径的情况下,我想从客户端上传文件,并将其传递到服务器进行进一步处理。

class mainSessRunning():
     def proces(input):
     ...
     ...
     return result

run = mainSessRunning()

@app.route('/input', methods=['POST'])
def input():
    input_file = request.files['file']
   ...(extract file from filestorage object "input_file")...
    result = run.process(file) ## process is user defined function 
    return (result)

这里我想通过过程()函数将传入的文件发送到本地运行的服务器。我该怎么做?我遇到了同样的问题,但什么也找不到

共有2个答案

谭骏
2023-03-14
import os
import json
from flask import Flask, render_template, url_for, request, redirect, jsonify
from PIL import Image


Upload = 'static/upload'
app = Flask(__name__)
app.config['uploadFolder'] = Upload


@app.route("/")
def index():
    return render_template("Index.html")

@app.route("/upload", methods = ['POST', 'GET'])
def upload():
    file = request.files['imgfile']
    filename = file.filename
    file.save(os.path.join(app.config['uploadFolder'], file.filename))
    print(file.filename)
    img = Image.open(file)
    li = []
    li = img.size
    imgobj = {
    "name" : filename,
    "width" : li[0],
    "height" : li[1]
    }
    json_data = json.dumps(imgobj)
    with open('jsonfile.json', 'w') as json_file:
        json.dump(imgobj, json_file)
    return render_template('index.html', filename = filename) # comment this line to only get the json data.
    # return render_template('index.html', json_data = json_data) # uncomment this line to get only json data.




if __name__ == "__main__":
    app.run(debug = True, port = 4455)

如果要从文件存储对象中提取文件,请按照以下步骤操作:通过使用以下代码,您可以从文件存储对象中保存文件并将其保存到本地

<!DOCTYPE html>
<html>
<head>
    <title>Assignment</title>
</head>
<body>

{% if filename %}
    <div>
        <h1>{{filename}}</h1>
        <img src="{{ url_for('static', filename='upload/'+filename) }}">
    </div>
{% endif %} <!-- comment this div to only get the json data.-->
<form method="post" action="/upload" enctype="multipart/form-data">
    <dl>
        <p>
            <input type="file" name="imgfile" autocomplete="off" required>
        </p>
    </dl>
    <p>
        <button type="submit" value="Submit"> Submit</button> 
    </p>
</form>
<!-- {% if json_data %}
<div>
    <p> {{ json_data}}
</div>
{% endif %} -->  <!-- uncomment this div to only get the json data.-->

</body>
</html>
巫马嘉祯
2023-03-14

“提取”是什么意思?如果你想得到文件的字节,你可以使用Content=request.files['file']. read().

然后将此内容发送到您想要的任何位置:res=requests。帖子(url、内容)

 类似资料:
  • 问题内容: 我正在尝试使用Flask创建一个Web应用程序,该应用程序允许用户上传文件并将其提供给其他用户。现在,我可以将文件正确 地上 传到 upload_folder了 。但是我似乎找不到找到让用户下载回来的方法。 我将文件名的名称存储到数据库中。 我有一个为数据库对象服务的视图。我也可以删除它们。 在我的HTML中,我有: 和下载视图: 但它正在返回: 未找到 在服务器上找不到请求的URL。

  • 我正在尝试使用Flask和requests构建一个简单的代理。代码如下: 这可以工作,只是它会丢失ElasticSearch的状态代码。我尝试直接返回(),但失败了 还有其他简单的方法从flask返回吗?

  • 问题内容: 我想控制上传图片的大小,如果它大于最大文件上传限制。我尝试了这个: 它印了。我究竟做错了什么?我应该从它的临时路径中找到该图像的大小吗?有没有类似PHP的Python? 问题答案: 这里需要注意几件事- content_length属性将是浏览器报告的文件上载的内容长度,但是不幸的是,正如docs和source中指出的那样,许多浏览器没有发送此长度。 至于您的TypeError,接下来

  • 本文向大家介绍Java将对象保存到文件中/从文件中读取对象的方法,包括了Java将对象保存到文件中/从文件中读取对象的方法的使用技巧和注意事项,需要的朋友参考一下 1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: 参数obj一定要实现Serializable接口,否则会抛出java.io.NotSerializableExcept

  • 我希望能够在textarea(HTML)中编写多行文本,并用python检索该文本,以便使用Flask进行处理。或者,我想能够写一个多行文字的形式。我不知道如何使用JS,所以这对我没有帮助。我该怎么做呢?

  • 我需要从大文件中提取文本(最大限制50MB)文件可能是doc、ppt、xls、txt或pdf格式。到目前为止,我使用了ApachePOI'http://poi.apache.org/' 用于Microsoft Office文档和PDFBox从PDF中提取文本。然而,随着文件变大,提取过程变得缓慢,特别是以下文件。到目前为止我取得的成果: 1. PPTX-45MB-3分钟apx 2.PDF-62MB

  • 问题内容: 我需要在存储过程中读入由SSIS包创建的日志文件。 有什么好方法吗? 我尝试使用此代码,但将文件内容显示为乱码。有没有解决的编码问题?有没有更简单的方法? 问题答案: 您是否尝试过将笔直插入?例如: