文件上传
我们经常需要在网站上上传各类文件,如办公文件(扩展名为.doc、.docx、.wps等)、图片文件(扩展名为.jpg、.png、.bmp等)、压缩文件(扩展名为.zip、.rar等)等,这些文件要上传到特定路径下。那么,文件上传究竟是如何实现的呢?下面我们通过一个具体的案例来介绍。
若要实现一次上传一个文件,需要经过建立上传模板、建立上传视图函数、建立调用上传模板的视图函数、设置上传文件视图函数路由、在浏览器上进行上传测试这5个步骤。
第一步:建立上传模板。
上传模板,就是为上传文件提供相应网页操作的界面,主要需要提供表单功能,对应 HTTP 请求POST提交功能,只有通过POST才能在线提交各种资源(这里指各种文件)。
首先,在项目模板路径下建立upload.html模板文件。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传文件模板</title>
</head>
<body>
<form enctype="multipart/form-data" action="/uploadfile/" method="post">
{% csrf_token %}
<input type="file" name="newfile">
<br/>
<input type="submit" value="上传文件">
</form>
</body>
</html>
在上面的代码中,enctype属性用于挃定将上传文件数据发送给服务器端之前对表单数据进行编码的斱式,这里必须挃定multipart/form-data的值,表示不对字符进行编码,支持通过文件上传斱式将数据传输给服务器端。
action属性用于挃定需要上传的目标URL,这里挃定了/uploadfile/地址,要求在项目根路径下建立uploadfile子目录路径
method属性用于挃定post值(