TypeError:预期的str,字节或os.PathLike对象,而不是FileStorage

时间:2020-02-25 00:17:59

标签: python database file-upload hash-function

这是我第一次寻求帮助,这是我的新手,并且已经看到您可以帮助人们解决他们的编程问题。

所以我问如何解决这个问题:

app.config["FILE_UPLOADS"] = "C:/Users/Admin/PycharmProjects/SAM_APP/dataBase"  

@app.route('/data', methods=['get', 'post'])                           
def data():   

    if request.method == "POST":                                                                       

        if request.files:                                                                              
            files = request.files["file"]                                                              
            print(files)                                                                               
            files.save(os.path.join(app.config["FILE_UPLOADS"], files.filename))                       
            print("FILE HAS BEEN SAVED")                                                               
            fic = open(files, "r", encoding='utf8', errors='ignore') 
            content = fic.read().encode()                                                              
            obj_hash = hashlib.sha256()                                                                
            obj_hash.update(content)                                                                   
            message = obj_hash.hexdigest()                                                             
        return redirect(request.url)                                                                   

    return render_template("data.html", files = message)

我在路径中上传了一个文件,并且我想应用哈希函数以使 签名我要存储在数据库中的文件。模板渲染器返回一条包含文件签名的消息,仅用于检查是否正常。

不幸的是,在我的网页上,我收到以下答复:

TypeError: expected str, bytes or os.PathLike object, not FileStorage

如果有人可以解决,我将非常感激。

ps:是为了我的学校项目,非常感谢。

0 个答案:

没有答案