def auction_item_image_add(request, item_id): """ 创建图片 待处理 :param request: :param item_id: :return: """ show_list = request.POST.getlist('show') image_object_list = request.FILES.getlist('img') orm_object_list = [] for index in range(len(image_object_list)): image_object = image_object_list[index] if not image_object: continue ext = image_object.name.rsplit('.', maxsplit=1)[-1] file_name = "{0}.{1}".format(str(uuid.uuid4()), ext) cos_path = upload_file(image_object, file_name) print(cos_path) orm_object_list.append( models.CommodityDetails(image_url=cos_path, commodity_id=item_id, status=bool(show_list[index]))) if orm_object_list: models.CommodityDetails.objects.bulk_create(orm_object_list) return JsonResponse({'status': True})
def wiki_upload_img(request, project_id): """wiki图片上传""" context = { # 上传成功success为1,url为上传成功后的返回链接,用于图片显示,message用于提示 "success": 0, "message": None, "url": None } # 图片内容 image_obj = request.FILES.get('editormd-image-file') if not image_obj: context['message'] = '文件不存在' return JsonResponse(context) # 图片名称 file_end = image_obj.name.rsplit('.')[-1] key = '{}.{}'.format(file_uid(request.tracer.user.mobile_phone), file_end) # 上传图片 context['url'] = upload_file(bucket=request.tracer.project.bucket, key=key, image_obj=image_obj, region=request.tracer.project.region) # 返回数据 context['success'] = 1 return JsonResponse(context)
def wiki_upload(request, project_id): """ markdown插件上传图片 """ # markdown上传文件到我后台,后台上传至对象存储,返回成功信息和图片URL给Markdown # markdown给我们展示出来 result = { # g给markdown返回的信息,success=0表示失败 'success': 0, 'message': None, 'url': None } # 上传的文件统一的key为editormd-image-file,valuel为文件对象 image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = "文件不存在" return JsonResponse(result) # 给图片设置一个不重复的名字 ext = image_object.name.rsplit('.')[-1] # 获取图片后缀 key = "{}.{}".format(uid(request.tracer.user.mobile_phone), ext) # 上传至对象存储后返回url:image_url image_url = upload_file( request.tracer.project.bucket, request.tracer.project.region, image_object, key ) result['success'] = 1 result['url'] = image_url # 给markdown返回 return JsonResponse(result)
def wiki_upload(request, project_id): """ markdown插件上传图片 """ # markdown需要的返回值 判断上传是否成功 result = { 'success': 0, 'message': None, 'url': None } image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = "文件不存在" return JsonResponse(result) ext = image_object.name.rsplit('.')[-1] key = "{}.{}".format(uid(request.tracer.user.phone), ext) image_url = upload_file( request.tracer.project.bucket, request.tracer.project.region, image_object, key ) result['success'] = 1 result['url'] = image_url return JsonResponse(result)
def wiki_upload(request, project_id): """ markdown插件上传图片 """ result = { 'success': 0, 'message': None, 'url': None, } image_object = request.FILES.get('editormd-image-files') if not image_object: result['message'] = "文件不存在" return JsonResponse(result) ext = image_object.name.rsplit('.')[-1] # 获取文件后缀名 key = "{}.{}".format(uid(request.tracer.user.mobile_phone), ext) # 文件对象上传到当前项目的桶中 image_url = upload_file( bucket=request.tracer.project.bucket, region=request.tracer.project.region, file_object=image_object, key=key, ) print(image_url) result = { 'success': 1, 'message': None, 'url': image_url, } print(result) print(JsonResponse(result)) return JsonResponse(result)
def wiki_upload(request, project_id): '''Wiki的文章中的图片''' # markdown上传文件需要的返回值类型 result = { 'success': 0, # 0代表失败; 1代表成功 'message': None, 'url': None, } # 获取markdown上传的文件对象 image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = '文件不存在' return JsonResponse(result) # 创建上传之后的文件名,由于腾讯云上传相同的文件名会覆盖原来文件,所以尽量保持文件名唯一 ext = image_object.name.rsplit('.')[-1] # 上传的文件后缀名 # uid是自定义的生成随机字符串的函数, key是新的文件名 key = '{}.{}'.format(uid(request.tracer.user.mobile_phone), ext) # 获取项目的桶名称 bucket_name = request.tracer.project.bucket region = request.tracer.project.region # 上传到腾讯云cos桶中 image_url = upload_file(bucket_name, region, image_object, key) result['success'] = 1 result['url'] = image_url result['message'] = '上传成功' return JsonResponse(result)
def clean(self): cleaned_data = self.cleaned_data # 上传文件 cover_file_object = cleaned_data.get('cover') if not cover_file_object or isinstance(cover_file_object, FieldFile): return cleaned_data ext = cover_file_object.name.rsplit('.', maxsplit=1)[-1] file_name = "{0}.{1}".format(str(uuid.uuid4()), ext) cleaned_data['cover'] = upload_file(cover_file_object, file_name) return cleaned_data
def clean(self): # 获取用户提交的文件对象 cleaned_data = self.cleaned_data obj = cleaned_data.get("image_url") if not obj: return cleaned_data # 将对象上传到腾讯云 # 返回得到文件地址 ext = obj.name.rsplit('.', maxsplit=1)[-1] file_name = "{0}.{1}".format(str(uuid.uuid4()), ext) cleaned_data['image_url'] = upload_file(obj, file_name) return cleaned_data
def wiki_upload(request, project_id): result = {'success': 0, 'message': None, 'url': None} #print(request.FILES) #<MultiValueDict: {'editormd-image-file': [<InMemoryUploadedFile: x战警二.jpeg (image/jpeg)>]}> image_obj = request.FILES.get('editormd-image-file') if not image_obj: result['message'] = "文件不存在" return JsonResponse(result) # key文件名 ext文件后缀名 ext = image_obj.name.rsplit('.')[-1] key = "{}.{}".format(uid(request.userInfo.user.telephone), ext) image_url = upload_file(request.userInfo.project.bucket, request.userInfo.project.region, image_obj, key) print(image_url) result['success'] = 1 result['url'] = image_url return JsonResponse(result)
def wiki_upload(request, project_id): '''markdown插件上传图片''' result = {'success': 0, 'message': None, 'url': None} image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = '文件不存在' return JsonResponse(result) # 将文件对象上传到项目桶中 ext = image_object.name.split('.')[-1] key = '{}.{}'.format(uid(request.saas.user.phone), ext) image_url = upload_file(request.saas.project.bucket, request.saas.project.region, image_object, key) result['success'] = 1 result['url'] = image_url return JsonResponse(result)
def wiki_upload(request, project_id): print('收到图片') result = {'success': 0, 'message': None, 'url': None} image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = '文件不存在' return JsonResponse(result) ext = image_object.name.rsplit('.')[-1] key = "{}.{}".format(uid(request.blog.user.mobile_phone), ext) image_url = upload_file( bucket=request.blog.project.bucket, region=request.blog.project.region, file_object=image_object, key=key, ) result['success'] = 1 result['url'] = image_url return JsonResponse(result)
def post(self, request, project_id): result = { 'success': 0, 'massage': None, 'url': None, } # 1.获取上传得文件对象 files_object = request._request.FILES.get('editormd-image-file') if not files_object: result['massage'] = "文件不存在" return JsonResponse(result) #调用上传文件函数 image_url = upload_file(request, files_object) result = { 'success': 1, 'massage': None, 'url': image_url, } return JsonResponse(result)
def wiki_upload(request, project_id): """markdown插件上传图片""" result = {"success": 0, "message": None, "url": None} # 用户上传的图片对象 image_object = request.FILES.get("editormd-image-file") if not image_object: result["message"] = "文件不存在" return JsonResponse(result) # 上传到cos中的文件名不能重复,如果重复最新的会覆盖就文件,所有这里需要生成唯一数的文件名 ext = image_object.name.rsplit(".")[-1] # 获取上传文件后缀名 key = "{0}.{1}".format(uid(request.tracer.user.mobile_phone), ext) image_url = upload_file( bucket=request.tracer.project.bucket, # 文件对象上传到当前项目的桶中 region=request.tracer.project.region, file_object=image_object, key=key) result["success"] = 1 result["url"] = image_url return JsonResponse(result)
def wiki_upload(request, project_id): """ markdown插件上传图片 """ result = {"success": 0, "message": None, "url": None} image_object = request.FILES.get("editormd-image-file") if not image_object: result["message"] = "文件不存在" return JsonResponse(result) ext = image_object.name.rsplit(".")[-1] key = "{}.{}".format(uid(request.tracker.user.mobile_phone), ext) image_url = upload_file( request.tracker.project.bucket, request.tracker.project.region, image_object, key, ) result["success"] = 1 result["url"] = image_url return JsonResponse(result)
def wiki_upload(request, project_id): result = { 'success': 0, 'message': None, 'url': None } img_obj = request.FILES.get('editormd-image-file') if not img_obj: result['message'] = '文件不存在' return JsonResponse(result) ext = img_obj.name.rsplit('.')[-1] key = '{}.{}'.format(uid(request.auth.user.phone_num), ext) img_url = upload_file( request.auth.project.bucket, request.auth.project.region, img_obj, key ) result['success'] = 1 result['url'] = img_url return JsonResponse(result)
def upload(request, project_id): result = { 'success': 0, 'message': None, 'url': None } img_obj = request.FILES.get('editormd-image-file') if not img_obj: result['message'] = '文件不存在' return JsonResponse(result) # 文件的对象上传到桶 bucket = request.tracer.project.bucket body = img_obj ext = img_obj.name.rsplit('.')[-1] filename = '%s.%s' % (uid(request.tracer.user.mobile_phone), ext) url = upload_file(bucket, body, filename) result['success'] = 1 result['url'] = url return JsonResponse(result)
def wiki_upload(request, project_id): """ markdown上传图片 :param request: :return: """ result = { 'success': 0, 'message': None, 'url': None, } image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = '文件不存在' return JsonResponse(result) ext = image_object.name.rsplit('.')[-1] key = '{}.{}'.format(uid(request.tracer.user.mobile_phone), ext) image_url = upload_file(request.tracer.project.bucket, request.tracer.project.region, image_object, key) # markdown固定格式 result['success'] = 1 result['url'] = image_url return JsonResponse(result)
def wiki_upload(request, project_id): """ markdown 本地上传 :param request: :param project_id: :return: """ result = { 'success': 0, 'message': None, 'url': None } print('收到上传的图片了') print(request.FILES) # 文件对象上传到当前项目的桶中 image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = "文件不存在" return JsonResponse(result) ext = image_object.name.rsplit('.')[-1] key = "{}.{}".format(uid(request.tracer.user.mobile_phone),ext) image_url = upload_file( request.tracer.project.bucket, request.tracer.project.region, image_object, key ) print(image_url) # return JsonResponse({}) result['success'] = 1 result['url'] = image_url # return JsonResponse(result)
def wiki_upload(request, project_id): """markdown插件上传图片""" file_project = request.FILES.get('editormd-image-file') if not file_project: result = { 'success': 0, # 0 表示上传失败,1 表示上传成功 'message': "上传失败", 'url': None } return JsonResponse(result) ext = file_project.name.rsplit('.')[-1] # 拿到后缀名 key = "{}-{}".format(uid(request.bug_mgt.user.mobile_phone), ext) # project_obj = models.Project.objects.filter(id=project_id).first() 或 request.bug_mgt.project.bucket bucket = request.bug_mgt.project.bucket region = request.bug_mgt.project.region file_url = cos.upload_file(bucket, file_project, region, key) print(file_url) result = { 'success': 1, # 0 表示上传失败,1 表示上传成功 'message': "上传成功", 'url': file_url # 上传成功时才返回 } # 返回一个路径 return JsonResponse(result)
def wiki_upload(request, project_id): """MarkDown上传图片""" result = { 'success': 0, 'message': None, 'url': None, } image_object = request.FILES.get('editormd-image-file') if not image_object: result['message'] = '文件不存在' return JsonResponse(result) suffix_name = image_object.name.rsplit('.')[-1] img_cos_name = '{}.{}'.format(uid(request.lxyker.user.mobile_phone), suffix_name) image_url = upload_file( bucket=request.lxyker.project.bucket, region=request.lxyker.project.region, file_obj=image_object, key=img_cos_name, ) result['success'] = 1 result['url'] = image_url return JsonResponse(result)