分散ファイルストレージシステムの小さなファイルのアップロード/ダウンロード(python 3.8+MongoDB 4.2.3)
参照先: Python 3 File(ファイル)メソッド MongoDB and PyMongo Tutorial
分散ファイルストレージ環境:Python 3.8,PyMongo 3.10.1,MongoDB 4.2.3
ファイルのアップロード方法:
ファイルのダウンロード方法:
分散ファイルストレージ環境:Python 3.8,PyMongo 3.10.1,MongoDB 4.2.3
ファイルのアップロード方法:
#!/usr/bin/python3
from pymongo import MongoClient
# connecting to database. db:testfile, collection:hello
myclient = MongoClient('mongodb://localhost:40009/')
db = myclient.testfile
collection = db.hello
# open a file to upload
myfile = open(file='D:/workspace/language.pdf',mode='rb')
data = myfile.read()
doc = [{
"userid":"5",
"filename":"language",
"filettype":"pdf",
"content":data,
"size":"3000"
}]
# insert document
result = collection.insert_many(doc)
print(result)
myfile.close()
ファイルのダウンロード方法:
#!/usr/bin/python3
from pymongo import MongoClient
# connecting to database. db:testfile, collection:hello
myclient = MongoClient('mongodb://localhost:40009/')
db = myclient.testfile
collection = db.hello
# find a file to download with "content" value. Stored in test.pdf
mydoc = collection.find_one({
"userid":"5"},{
"_id":0,"content":1})
myfile = open(file='D:/workspace/test.pdf',mode='ab')
data = myfile.write(mydoc["content"])
myfile.close()