【Django組件】UNIAPP+DJANGO 多圖像上傳 + 后端接口接受 uView組件


VUE文件: <template>


      <!-- 提交圖片 -->
        <view class="cu-card article">
            <view class="cu-item shadow" style="background-color: transparent;">
                
                <u-upload ref="uUpload" :action="action" :auto-upload="false" name="images" :size-type="sizeType"></u-upload>
                <u-button @click="submit">提交</u-button>


            </view>
        </view>



</template>
后端接口文件 class OrderSubmit(APIView):

    def post(self, request):

         # 訂單圖片對象
          file_obj = request.FILES.getlist('images', None)
          
          function = "submit_order"

         # 上傳圖片  輪子寫在下面
         status, path = upload_files.UploadFilesOnce(request.user, function, file_obj)

        if status == False:
            message["code"] = 10041
            message["message"] = "圖片上傳失敗"
            return JsonResponse(message)
# 單個 上傳輪子文件
def UploadFilesOnce(username,function,files):
    try:

        # 上傳圖片路徑    media/username/task_id/images.jpg
        dir_path = BASE_DIR + "/media/{}/{}/".format(function,username)
        # 如果沒有這個路徑就創建
        if not os.path.exists(dir_path):
            os.makedirs(dir_path)

        path=''
        # 上傳圖片
        for f in files:
            # 為了避免覆蓋 對名字進行加密
            image_name = datamd5.md5(f.name) + '.jpg'
            with open(dir_path + image_name, 'wb') as dest:
                # 獲取路徑
                path = path + '/media/{}/{}/'.format(function,username) + image_name + ","
                for chunk in f.chunks():
                    dest.write(chunk)

        return True,path

    except:

        # print(traceback.format_exc())
        return False,None

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM