如何将base64编码的字符串转换为可以与werkzeug.datastructures中的FileStorage一起使用的Stream?

时间:2011-09-07 19:59:39

标签: python

我需要这个,因为我使用AJAX来传输文件,因此我在base64编码的字符串中获得了一个图像文件。我想很好地将其转换为FileStorage对象,以便我可以很好地使用flask-uploads库。知道我怎么能这样做吗?谢谢!

2 个答案:

答案 0 :(得分:0)

查看pickle模块,特别是pickle.load函数。该模块有助于将对象转换为字节流和从字节流转换对象。

您可能还需要使用binascii转换字符串。

答案 1 :(得分:0)

def open_file(file_name):
    """
    opens file in samples, and return base64 encoded streams.
        feel free to use this code if it is helpful.
    """
    from backend import backend
    sample_dir = backend.config["samples_dir"]
    file = open(os.path.join(sample_dir, file_name), 'r')
    stream = file.read()
    encoded_stream = base64.b64encode(stream)
    return encoded_stream