一、保存文件
获取文件 file_obj = request.FILES.get('file')
1.使用os保存
def add_file(request):
if request.method == 'POST':
file_obj = request.FILES.get('file') # 获取图片
# 开始储存图片(避免文件名重复,可以使用时间戳)
from django.conf import ENVIRONMENT_VARIABLE, settings
import os
import time
# 时间戳
t = time.time()
t = int(round(t * 1000)) # 毫秒
#文件名
file_name = str(t) + os.path.splitext(file_obj.name)[1]
# 保存位置
#settings.MEDIA_ROOT media目录
filename = os.path.join(settings.MEDIA_ROOT,file_name)
#开始保存
with open(filename, 'wb') as f:
data = file_obj.file.read()
f.write(data)
#保存成功后返回url
url = '/media/' + filename
redata = {
'code': 200,
'msg':'上传成功',
'url':url
}
return HttpResponse(json.dumps(redata, indent=4))
2.
二、查看图片(以下配置是用在测试时查看图片,及DEBUG = True,当为False时失效,交给代理服务器)
1、配置访问路由
settings.py
MEDIA_URL = '/media/' #(名字可以改)(访问图片的路由http://127.0.0.1/media/img/1645887488906.png)
MEDIA_ROOT = os.path.join('/app/media')#上传文件的位置(项目外层)
2、添加主路由
urls.py(主路由)
...... from django.conf import settings #导入 from django.conf.urls.static import static #导入 urlpatterns = [.......] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) #配置url



