1. 程式人生 > >python+django+javascript+layer 簡單小demo檔案上傳

python+django+javascript+layer 簡單小demo檔案上傳

在經過上面的簡單的小部落格講解後,今天就把前端和後端的程式碼粗略的弄一下。大致的程式碼如下: 

{#  上傳檔案的時候必須要在form標籤中新增屬性 enctype="multipart/form-data"  #}
<form method="POST"  enctype="multipart/form-data" id="upload" >
    <div class="col-lg-12">
    <div class="col-lg-8">
        <input type="file" name="img" id="img" class="btn btn-default"/>
        <input type="text" name="companyF" id="companyF" value="{{ company_name }}" style="display: none;"/>
        <input type="text" name="coverFile" id="coverFile" value="False" style="display: none;"/>
    </div>
    <div class="col-lg-4" style="text-align: center;">
        <input type="button" class="btn btn-default" value="上傳附件" onclick="transferBtn(this)" />
    </div>
    <div class="col-lg-4" style="text-align: center;">
        <input type="button" class="btn btn-default" value="下載檔案" onclick="downloadFiles()" />
    </div>
    </div>
</form>
  //上傳檔案按鈕
    function transferBtn(cur){
      var form = document.getElementById('upload'),
      formData = new FormData(form);
      $.ajax({
       url:"{% url 'upload' %} ",
       type:"post",
       data:formData,
       processData:false,
       contentType:false,
       success:function(data){
            if(data == 'ok'){
                layer.msg("上傳成功!");
            }
            if(data == 'exists'){
                //詢問框
            layer.confirm('已有該檔案,是否覆蓋?', {
                btn: ['確定', '取消'],
            }, //按鈕
            function () {
                coverFile();
            },
            function () {
                layer.msg('取消操作成功');
            });
            }
      }

    })
    }
    //覆蓋檔案的操作
    function coverFile() {
        var form = document.getElementById('upload');
        $("#coverFile").val('True');
        formData = new FormData(form);
        $.ajax({
           url:"{% url 'upload' %} ",
           type:"post",
           data:formData,
           processData:false,
           contentType:false,
           success:function(data){
               layer.msg('覆蓋檔案成功');
           }
        })
    }
def upload(request):
    if request.method == "POST":
        company = request.POST.get("companyF")
        file = request.FILES.get('img')      # 所有提交的檔案
        coverFile = request.POST.get("coverFile")

        file_name = file.name
        path = tools.DOC_BASE_DIR + request.user.username + '/' + company + '/'
        all_path = path + file_name
        if os.path.exists(path) is False:
            os.makedirs(path)

        if os.path.exists(all_path) and coverFile == 'False':
            return HttpResponse('exists')
        with open(all_path, 'wb') as f:
            for chunk in file.chunks():
                f.write(chunk)
        return HttpResponse("ok")

    # return render(request, 'report_template.html')
def fileExistsOrNot(request):
    company_name = request.POST.get("company_name")
    file_name = request.POST.get("file_name")
    path = tools.DOC_BASE_DIR + request.user.username + '/' + company_name + '/' + file_name

    if os.path.exists(path):
        return HttpResponse("檔名已存在")
    else:
        return HttpResponse("OK")

相關推薦

python+django+javascript+layer 簡單demo檔案

在經過上面的簡單的小部落格講解後,今天就把前端和後端的程式碼粗略的弄一下。大致的程式碼如下:  {# 上傳檔案的時候必須要在form標籤中新增屬性 enctype="multipart/form-data" #} <form method="POST" enct

JavaScript的FormData+Ajax實現檔案+圖片

 JavaScript的FormData+Ajax實現檔案上傳+圖片上傳 在很多網頁開發中會存在檔案上傳,圖片上傳的操作,有的使用form表單預設功能提交檔案,有的採用Ajax提交 如果採用form表單的提交方式,恰恰又需要新增額外的引數或者需要設定特定的請求頭資訊,那麼這種方式就

寫一個簡單的批量檔案外掛

分享一個自己寫的簡單的批量檔案上傳外掛: 基於jQuery 關於相容性:支援目前市場上絕大多數的瀏覽器,IE的話最好選擇IE8以上。 該外掛很簡單,由三個檔案組成:easyUpload.js,easyUpload.css,以及loading.gif js程式碼:easyUpload.js

微信程式檔案,圖片

1:xml <view style="margin-top: 20px" class="weui-flex">   <view style="width: 35%;font-size: 0.7em">證件照片</view>   <

簡單的html檔案示例

最簡單的上傳方式就是用form表單、input file 、input submit構成。服務端可以採用任意的fileupload控制元件都可以。這裡用的是fileUpServlet。 <form name="uploadForm" method="POST"  

Django框架學習筆記(28.檔案詳解)

1.所有美觀的上傳按鈕原理: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-

簡單的node檔案下載及中文亂碼問題解決

1. 基於MEAN的技術棧,使用restful風格的介面2. 在前端程式碼中放置檔案上傳按鈕和處理表單資料<div class="upload-file btn btn-sm btn-primary mb-2"> <span><i class

用socket自定義簡單協議實現檔案與接受

一個上傳的資料包,主要包含檔案頭和檔案內容倆部分,主要按下面的格式,傳送: "File-Name:xxxxxx.zip;File-Type:exe;File-Length:1029292\r\n" ------檔案內容--------- 1、服務端的檔案接受服務 MySoc

SpringMVC配置,簡單例項,檔案與下載,ajax請求

本文基於SpringMVC採用註解方式,從配置到簡單常用的功能舉例詳解,功能已經在本機測試過,能跑起來。 參考資料:iteye部落格;                   Spring文件; 1、匯入相關jar包:                              

簡單的PHP檔案例子

<?php if (is_uploaded_file($_FILES['upfile']['tmp_name'])){ //is_uploaded_file() 函式判斷指定的檔案是

PHP+KINDEDIT+mysql+javascript實現文字編輯和檔案功能例項

這個功能是本人寫的一個會議通知的新增功能。需要用到kindeditor網頁文字編輯器,功能強大。具體大家GOOGLE一下。 檔案一add.php編輯頁面 <?php //新增會議通知的編輯介面 include('menu.php'); include ("hea

阿里雲部署django實現公網訪問 SSH實現遠端控制 linux rhel7下安裝python django初探-建立簡單的部落格系統(一) django初探-建立簡單的部落格系統(二)

  本博的主要目的是對阿里雲部署django實現公網訪問進行一次簡單的記錄,方便日後查詢。   內容目錄:   (1)申請阿里雲伺服器及安全組配置   (2)實現ssh遠端控制   (3)實現ftp檔案傳輸   (4)安裝python3,在centos下同時使用python2和python3   

Django - 實現簡單檔案功能

前端 <form action="" method="post" enctype="multipart/form-data"> {#<form action="" method="post" enctype="application/x-www-form-urlenc

實際應用一:基於servlet和JavaScript FileReader實現簡單檔案

在web專案中檔案上傳是十分平常的,對於檔案上傳之前用過幾種方法都比較實用。 一、基於Apache common fileupload 二、基於servlet和JavaScript FileReader 三、框架裡自帶的檔案上傳 他們各自適用於不同的場合個人認為:

Spring boot 簡單demo

1.開啟idea,建立新專案:Spring Initializr 2. Group和Artifact可用預設的。建議Packaging選Jar。 點選next 3.Spring boot 選1.5.版本 Web選Web選項 點選next->finash

RSA演算法在Python Django中的簡單應用

說明 RSA演算法是當今使用最廣泛,安全度最高的加密演算法。 • RSA演算法的安全性理論基礎 [引]根據百科介紹,對極大整數做因數分解的難度決定了RSA演算法的可靠性。換言之,對一極大整數做因數分解愈困難,RSA演算法愈可靠。假如有人找到一種快速因數分解的演算法的話,那麼用RSA加密的資訊的可靠性就肯定會

python + django + dwebsocket 實現簡單的聊天室

使用庫dwebsocket,具體參考此處 views.py: from dwebsocket.decorators import accept_websocket,require_websocket from collections import defaultdict # 儲存所有接入的使用者

jquery中H5頁面長按事件(程式碼全)簡單demo

一個簡單的demo,先上圖看效果(當長按0.5秒的時候就會顯示下面的紅色div) 如果是單擊一次滑鼠並沒有到0.5秒則提示 下面上全部程式碼 注意:是H5頁面才會觸發,用谷歌除錯的時候要按F12進入手機的模式,否則不起作用(@炬) <!DOCTYPE h

原生php檔案簡單demo

html端:<form action="check.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="

python django web 端檔案

利用Django實現檔案上傳並且儲存到指定路徑下,其實並不困難,完全不需要用到django的forms,也不需要django的models,就可以實現,下面開始實現。 第一步:在模板檔案中,建立一個form表單,需要特別注意的是,在有檔案上傳的form表單中,method屬性必須為post,而且必須指定它的