开发者社区 > 云存储 > 对象存储OSS > 正文

用python上传本地的pdf和word的文件,pdf上传后打开为乱码,如何上传

image.png image.png

展开
收起
1964300194114835 2023-05-16 18:14:57 276 0
2 条回答
写回答
取消 提交回答
  • 可能是由于文件的编码导致上传后打开为乱码,您可以尝试使用二进制模式打开文件并上传。

    可以参考下面的代码,其中open()函数的第二个参数设置为'rb'表示以二进制模式打开文件:

    import os
    from pymongo import MongoClient
    from gridfs import GridFS
    
    client = MongoClient('mongodb://username:password@host:port/dbname')
    db = client['testdb']
    fs = GridFS(db)
    
    with open('/path/to/your/file.pdf', 'rb') as f:
       file_id = fs.put(f, filename=os.path.basename(f.name), content_type='application/pdf')
    
    print(f"File ObjectId: {file_id}")
    

    同样的,对于word文件可以更改content_type参数为'application/msword'进行传输。

    2023-05-17 15:10:52
    赞同 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    在使用Python上传本地的PDF和Word文件到阿里云OSS时,如果上传后打开文件出现乱码,可能是因为文件编码格式不正确导致的。

    PDF和Word文件通常使用的是二进制格式,而不是文本格式。在上传文件时,需要以二进制方式读取文件内容,并以二进制方式上传到OSS。如果使用文本方式读取和上传文件,可能会导致文件内容被破坏,从而导致文件打开后出现乱码。

    需要注意的是,如果上传的文件是PDF或Word文档,建议在上传前检查文件的编码格式,并确保使用正确的编码格式进行读取和上传。可以使用Python的chardet库来检测文件的编码格式。

    2023-05-16 19:55:36
    赞同 展开评论 打赏

对象存储 OSS 是一款安全、稳定、高性价比、高性能的云存储服务,可以帮助各行业的客户在互联网应用、大数据分析、机器学习、数据归档等各种使用场景存储任意数量的数据,以及进行任意位置的访问,同时通过丰富的数据处理能力更便捷地使用数据。

热门讨论

热门文章

相关电子书

更多
对象存储实战指南-试读 立即下载
OpenAnolis 龙蜥操作系统开源社区技术创新白皮书 立即下载
使用CNFS搭建弹性Web服务 立即下载