国产午夜色司机在线观看,亚洲国产小视频在线观看,国产精品毛片一级久久,欧美高清vivoe,国产指交视频一区之二区,中文字幕在线码一区,18成禁人视频免费网站,影视中文综合国产,在线观看特色大片免费视频,午夜激情成人在线

django文件上傳及接收存儲(chǔ)

時(shí)間:2021-07-26 23:58:34 類型:python
字號:    

django文件上傳及接收存儲(chǔ)的方法如下:

1, 表單:

<form action="/student/addsave" method="post" class="form" enctype="multipart/form-data">
     {% csrf_token %}
    <li>
        <input type="file" name="file">
    </li>
    <li>
        <input type="submit" value="保存">
    </li>
</form>

2, view接收

myFile = request.FILES["file"]
if myFile:
    list = myFile.name.split(".")
    ext  = list[-1]
    newname = uuid.uuid1().hex + "." + ext
    ext_tup = ("gif","png","jpeg","jpg")
    if ext not in ext_tup:
        return HttpResponse("<script>alert('只能上傳圖片');history.back();</script>")
    path = makedirs()
    imgname = '%s/%s' % (path, newname)
    destination =  open(imgname,'wb+')
    for chunk in myFile.chunks():
        destination.write(chunk)

處理上傳的文件

關(guān)于上傳文件的方法和屬性:


    myFile.read():從文件中讀取整個(gè)上傳的數(shù)據(jù),這個(gè)方法只適合小文件;


    myFile.chunks():按塊返回文件,通過在for循環(huán)中進(jìn)行迭代,可以將大文件按塊寫入到服務(wù)器中;


   myFile.multiple_chunks():這個(gè)方法根據(jù)myFile的大小,返回True或者False,當(dāng)myFile文件大于2.5M(默認(rèn)為2.5M,可以調(diào)整)時(shí),該方法返回True,否則返回False,因此可以根據(jù)該方法來選擇選用read方法讀取還是采用chunks方法:


      if myFile.multiple_chunks() == False:


         # 使用myFile.read()


      else:


         # 使用myFile.chunks()


   myFile.name:這是一個(gè)屬性,不是方法,該屬性得到上傳的文件名,包括后綴,如123.exe;


   myFile.size:這也是一個(gè)屬性,該屬性得到上傳文件的大小。


相關(guān)鏈接: 生成年月日目錄函數(shù)

<