官方示例

>>> from django.core.files.base import ContentFile
>>> from django.core.files.storage import default_storage

>>> path = default_storage.save('path/to/file', ContentFile(b'new content'))
>>> path
'path/to/file'

>>> default_storage.size(path)
11
>>> default_storage.open(path).read()
b'new content'

>>> default_storage.delete(path)
>>> default_storage.exists(path)
False

单文件上传

发送文件到django服务上

import requests

basic_file=""
files = {
    "file": ("basic.sqlite3", open(basic_file, "rb"), "")
}
response=requests.post(url,files=files)
print(response)

django服务器接受文件并保存文件

from django.views import View

class Test1View(View):
    def post(self, request):
        from django.core.files.storage import default_storage
        file=request.FILES['file']
        default_storage.save(file.name, file)
        return render(request, 'test1.html', )

多文件上传和接受

发送文件到django服务上

import requests


base_dir =''
files = []
for name in file_li:
    file_name= f'{name }.sqlite3'
    basic_file = os.path.join(base_dir, file_name)
    files.append(("files", (file_name, open(basic_file, "rb"), "")))
    
response = requests.post(url, files=files)
content = response.json()

django服务器接受文件并保存文件

from django.views import View

class Test1View(View):
    def post(self, request):
       from django.core.files.storage import default_storage
            for file in request.FILES.getlist('files'):
                path=os.path.join(settings.BASE_DIR,file.name)
            
                if os.path.exists(path):
                    os.remove(path)
                default_storage.save(file.name, file)

官方文档:

https://docs.djangoproject.com/en/3.2/topics/files/

本文地址: http://chenxm.cc/article/1253.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: Charles安装和配置HTTPS证书
下一篇: django auto_now_add和auto_created
发表评论

还没有留言,还不快点抢沙发?