如何在金字塔中获取文件大小和文件名?

时间:2018-06-09 06:20:42

标签: python pyramid

我试图通过HTTP帖子获取文件的文件名和文件大小。 我可以使用$user_id = $_GET["user_id"] 使用get_file = request.POST['file'].file获取文件,使用get_filename = request.POST['file'].filename获取文件名但是当我get_file_size = os.stat(get_file).st_size获取上传文件的大小时,它会抛出一个错误说 “TypeError:强制转换为Unicode:需要字符串或缓冲区,找到实例” 那么我如何获得文件大小并检查它是否小于10Mb?

1 个答案:

答案 0 :(得分:0)

您做错了os.stat()方法将文件路径作为参数,并且您将文件对象传递给它。

尝试使用os.fstat()方法。它以文件描述符为参数。

这是您可以使用的工作代码:

size = 0
fp = request.POST.get('file')
if fp is not None:
    file = fp.file
    if hasattr(file, 'fileno'):
        size = os.fstat(file.fileno()).st_size

文件大小以字节为单位。