代码之家  ›  专栏  ›  技术社区  ›  Joseph Mancuso

Masonite-AttributeError>“str”对象没有属性“filename”

  •  1
  • Joseph Mancuso  · 技术社区  · 7 年前

    我有一个表单如下所示:

    <form method="POST" action="/posts">
        {{ csrf_field }}
        <input type="text" name="username">
        <input type="file" name="image">
    
        <input type="submit" value="Submit">
    </form>
    

    但当我提交此表单并尝试上载时,我只得到图像的名称:

    def posts(self, request: Request, upload: Upload):
        upload.store(request().input('image'))
    

    我遇到了一个例外:

    AttributeError > 'str' object has no attribute 'filename'

    1 回复  |  直到 7 年前
        1
  •  2
  •   Joseph Mancuso    7 年前

    这是因为您的HTML表单上没有编码集:

    <form method="POST" action="/posts">
    

    <form method="POST" action="/posts" enctype="multipart/form-data">
    

    这将对图像进行编码,以便Masonite可以将其作为对象而不是字符串读取。