34"UTF-8">5upload678{#上傳文件的form表單必須要加上enctype="multipart/form-data"#}9"/upload/"method="post"enctype="multipart/form-data">10"file"name="upload_files">11"submit"value="提交">121314uploadFiles.html1fr" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

用python寫(xiě)一個(gè)簡(jiǎn)單的文件上傳

系統(tǒng) 1762 0

  用Pycharm創(chuàng)建一個(gè)django項(xiàng)目。目錄如下:

用python寫(xiě)一個(gè)簡(jiǎn)單的文件上傳_第1張圖片

              
                 1
              
              
                 2
              
               "
              
                en
              
              
                "
              
              >

              
                 3
              
              
                 4
              
              
              "
              
                UTF-8
              
              
                "
              
              >

              
                 5
              
              
                upload
              
              
                 6
              
              
                 7
              
              
                 8
              
               {
              
                #
              
              
                 上傳文件的form表單必須要加上enctype="multipart/form-data" #}
              
              
                 9
              
              
" /upload/ " method= " post " enctype= " multipart/form-data " > 10 " file " name= " upload_files " > 11 " submit " value= " 提交 " > 12
13 14
uploadFiles.html
              
                 1
              
              
                from
              
               django.shortcuts 
              
                import
              
              
                 render,HttpResponse

              
              
                 2
              
              
                 3
              
              
                #
              
              
                 Create your views here.
              
              
                 4
              
              
                 5
              
              
                #
              
              
                 CBV方式(class base views)
              
              
                 6
              
              
                from
              
               django.views 
              
                import
              
              
                 View

              
              
                 7
              
              
                class
              
              
                 Upload(View):

              
              
                 8
              
              
                def
              
              
                 post(self,request):

              
              
                 9
              
              
                '''
              
              
                10
              
              
                        保存上傳文件前,數(shù)據(jù)需要存放在某個(gè)位置。默認(rèn)當(dāng)上傳文件小于2.5M時(shí),django會(huì)將上傳文件的全部?jī)?nèi)容讀進(jìn)內(nèi)存。從內(nèi)存讀取一次,寫(xiě)磁盤(pán)一次。

              
              
                11
              
              
                        但當(dāng)上傳文件很大時(shí),django會(huì)把上傳文件寫(xiě)到臨時(shí)文件中,然后存放到系統(tǒng)臨時(shí)文件夾中。

              
              
                12
              
              
                        :param request:

              
              
                13
              
              
                        :return:

              
              
                14
              
              
                '''
              
              
                15
              
              
                #
              
              
                 從請(qǐng)求的FILES中獲取上傳文件的文件名,file為頁(yè)面上type=files類(lèi)型input的name屬性值
              
              
                16
              
                       filename = request.FILES[
              
                '
              
              
                upload_files
              
              
                '
              
              
                ].name

              
              
                17
              
              
                #
              
              
                 在項(xiàng)目目錄下新建一個(gè)文件
              
              
                18
              
                       with open(filename,
              
                '
              
              
                wb
              
              
                '
              
              
                ) as f:

              
              
                19
              
              
                #
              
              
                 從上傳的文件對(duì)象中一點(diǎn)一點(diǎn)讀
              
              
                20
              
              
                for
              
               chunk 
              
                in
              
               request.FILES[
              
                '
              
              
                upload_files
              
              
                '
              
              
                ].chunks():

              
              
                21
              
              
                #
              
              
                 寫(xiě)入本地文件
              
              
                22
              
              
                                f.write(chunk)

              
              
                23
              
              
                return
              
               HttpResponse(
              
                '
              
              
                上傳ok
              
              
                '
              
              
                )

              
              
                24
              
              
                25
              
              
                def
              
              
                 get(self,request):

              
              
                26
              
              
                return
              
               render(request, 
              
                '
              
              
                uploadFiles.html
              
              
                '
              
              )
            
views.py
              
                 1
              
              
                """
              
              
                day67 URL Configuration

              
              
                 2
              
              
                 3
              
              
                The `urlpatterns` list routes URLs to views. For more information please see:

              
              
                 4
              
              
                    https://docs.djangoproject.com/en/2.2/topics/http/urls/

              
              
                 5
              
              
                Examples:

              
              
                 6
              
              
                Function views

              
              
                 7
              
              
                    1. Add an import:  from my_app import views

              
              
                 8
              
              
                    2. Add a URL to urlpatterns:  path('', views.home, name='home')

              
              
                 9
              
              
                Class-based views

              
              
                10
              
              
                    1. Add an import:  from other_app.views import Home

              
              
                11
              
              
                    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')

              
              
                12
              
              
                Including another URLconf

              
              
                13
              
              
                    1. Import the include() function: from django.urls import include, path

              
              
                14
              
              
                    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))

              
              
                15
              
              
                """
              
              
                16
              
              
                from
              
               django.contrib 
              
                import
              
              
                 admin

              
              
                17
              
              
                from
              
               django.urls 
              
                import
              
              
                 path

              
              
                18
              
              
                from
              
               app01 
              
                import
              
              
                 views

              
              
                19
              
              
                20
              
               urlpatterns =
              
                 [

              
              
                21
              
                   path(
              
                '
              
              
                upload/
              
              
                '
              
              
                ,views.Upload.as_view() ),

              
              
                22
              
               ]
            
urls.py

  注意settings.py中的這一行要注釋掉

            
              '
            
            
              django.middleware.csrf.CsrfViewMiddleware
            
            
              '
            
            ,
          

  點(diǎn)擊運(yùn)行,文件會(huì)上傳到項(xiàng)目的根目錄下面。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 色偷偷尼玛图亚洲综合 | 九九影院在线观看 | 伊人网站视频 | 亚洲色吧 | 色综合久久中文字幕 | 伊人涩涩 | 精品性久久 | 精品午夜寂寞黄网站在线 | 奇米四色影视 | 黄片123| 天天操妹子 | 国产亚洲影院 | 久久夜夜操妹子 | 尤物久久99热国产综合 | 亚洲欧美日韩国产精品 | 一级特黄国产高清毛片97看片 | 成人18网址在线观看 | 国产亚洲精品97在线观看 | 欧美激情在线免费观看 | 综合一个色| 久久综合五月 | 久草视频精品在线 | 老司机午夜在线视频免费 | 日日夜夜操操操 | 亚洲天堂一区二区 | 久久精品这里热有精品 | 亚洲国产成人在线观看 | 特级一级毛片 | 亚洲精品日韩中文字幕久久久 | 国产精品永久免费10000 | 日日射夜夜操 | 国产日韩一区二区三区在线观看 | 中文字幕一区二区三区精品 | 亚洲精品视频久久久 | 色综合一区二区三区 | 国产一区二区三区乱码网站 | 欧美色无极 | 91精品免费国产高清在线 | 男人的天堂视频 | 日韩成人 | 夜间福利视频 |