【问题标题】:How to get both file size and filename in pyramid?如何在金字塔中同时获取文件大小和文件名?
【发布时间】:2018-06-12 18:14:41
【问题描述】:

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

【问题讨论】:

    标签: python pyramid


    【解决方案1】:

    您做错了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
    

    文件大小以字节为单位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-26
      • 2012-05-29
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      相关资源
      最近更新 更多