Python打开图像文件并编码为base64为空

时间:2017-06-22 08:12:31

标签: python encoding base64

我正在尝试编码某个文件夹中的文件并创建一个base64字符串。我可以加载文件并读取()它,但是创建base64字符串什么都不打印。

for file in os.listdir(os.path.join(app.config['UPLOAD_FOLDER'])):
     print file
     print type(file)
     if file.startswith(str(current_user.id)):
           with open(file, 'rb') as thefile:                         
                data = thefile.read().encode("base64")
                print "base: ", data
                print "the ", type(thefile)

这是印刷品:

1-bild-1.jpg
<type 'str'>
base:  
the  <type 'file'>

编辑:

我注意到thefile.read()也是空的。打印没什么。

1 个答案:

答案 0 :(得分:1)

您必须指定要打开的完整文件路径,而不仅仅是文件名。

更改

with open(file, 'rb') as thefile:

with open(os.path.join(app.config['UPLOAD_FOLDER'], file), 'rb') as thefile:

它应该有用。