用django框架写一个实现用户下载图片功能的代码
时间: 2024-04-29 17:22:55 浏览: 105
好的,这个问题我可以回答。以下是一个用 Django 框架实现用户下载图片功能的代码示例:
views.py
```python
from django.http import HttpResponse, Http404
from django.shortcuts import render
from django.conf import settings
import os
def download_image(request, image_name):
file_path = os.path.join(settings.MEDIA_ROOT, image_name)
if os.path.exists(file_path):
with open(file_path, 'rb') as fh:
response = HttpResponse(fh.read(), content_type="image/png")
response['Content-Disposition'] = 'inline; filename=' + os.path.basename(file_path)
return response
raise Http404
```
urls.py
```python
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^download/(?P<image_name>.+)$', views.download_image, name='download_image'),
]
```
其中,我们给出了一个下载图片的视图函数 `download_image()`,用户需要传入图片的名称,函数会从 `MEDIA_ROOT` 目录下查找到对应的文件并返回给用户。`urls.py` 中则定义了对应的 URL 路由。
注意,这里只是一个简单的示例代码,实际应用中还需要做好安全性校验和错误处理,避免出现潜在的安全问题或者不友好的用户体验。
阅读全文