通过python django显示路径中的图像



我的django项目中有这段代码。它将在服务器中django根目录之外的路径中上传一个文件。现在我想要一个可以检索该文件并显示客户端的函数。它是非直接链接,就像http://example.com/uploads/{ID}。现在怎么可能。请注意,上传的文件是图像。

def upload(request):
if request.method == 'POST' and request.FILES['file1']:
myfile = request.FILES['file1']
fileType = request.GET.get('type',None)
if fileType==None:
return json_response(65,400)
if myfile.size > 5*1024*1000:
return json_response(85,400)
elif not (myfile.content_type.startswith('image') or myfile.content_type == 'application/pdf'):
return json_response(185,400)
fs = FileSystemStorage('../uploads')
filename = fs.save(myfile.name, myfile)
uploaded_file_url = fs.url(filename)
request.user.file_set.create(name = uploaded_file_url, type = fileType, createdAt = datetime.now())

您可以定义一个视图,其中id为URL slug。之后,您可以找到相应ID的文件路径来读取文件并发送响应。这是从路径读取文件并作为HTTP响应发送的代码

with open(valid_image_url, "rb") as f:
return HttpResponse(f.read(), content_type="image/jpeg")

最新更新