Ошибка загрузки изображения COS + водяного знака «Указанный ключ не существует».
Ошибка загрузки изображения COS + водяного знака «Указанный ключ не существует».

Сценарии использования

Вам необходимо добавить водяной знак к изображению при загрузке его в корзину cos (корзина является частной для чтения и записи, а разрешения изображения шаблона водяного знака наследуются (частное чтение))

Обратитесь на официальный сайт Python. sdk локальный путь Простая загрузка демо и Изображение водяного знака Обрабатывается во время загрузки демо, следующий код:

Язык кода:python
кодКоличество запусков:0
копировать
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys,base64
import logging

logging.basicConfig(level=logging.INFO, stream=sys.stdout)

secret_id = '**************'
secret_key = '**************'
token = None
scheme = 'https'
region = 'ap-guangzhou'
bucket = '********'
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)

# Создать изображение водяного знака base64
watermark_url = 'http://{bucket}.cos.{region}.myqcloud.com/shuiyin1.jpg'.format(bucket=bucket, region=region)
watermark_url_base64 = bytes.decode(base64.b64encode(str.encode(watermark_url)))

# локальный путь Простая загрузка
response = client.put_object_from_local_file(
    Bucket = bucket,
    LocalFilePath = r'C:\tmp\2.jpeg',
    Key = "admin.jpeg",
    # pic operation json struct
    PicOperations='{"is_pic_info":1,"rules":[{"fileid": "/2.jpeg","rule": "watermark/1/image/' + watermark_url_base64 + '" }]}')

Обратите внимание на параметры обработки изображения:

is_pic_info: возвращать ли исходную информацию об изображении. 0 означает не возвращать исходную информацию об изображении, 1 означает возвращать исходную информацию об изображении, значение по умолчанию — 0

Rules: правила обработки, одно правило соответствует одному результату обработки (на данный момент поддерживается до пяти правил), если не заполнено, изображение обрабатываться не будет.

fileid: путь сохранения и имя обработанного файла изображения.

правило: параметры обработки

watermark:1 Изображение водяного знака、2 Текстовый водяной знак, 3 слепой водяной знак

изображение: адрес изображения водяного знака, необходимо передать URL безопасный Base64 кодирование иметь дело с.

Сообщить об ошибке

Язык кода:json
копировать
qcloud_cos.cos_exception.CosServiceError: {'code': 'NoSuchKey', 'message': 'The specified key does not exist.', 'resource': '/admin.jpeg', 'requestid': '***************', 'traceid': '*********************************************'}

причина:

1. Изображение шаблона водяного знака предназначено для частного чтения, и для доступа вам необходимо принести изображение водяного знака с вашей подписью.

2. URL-адрес изображения шаблона водяного знака должен пройти URL безопасный Base64 кодирование обработка, иначе cos декодирование облака Сообщить об Нур не найдет изображение водяного знака

Полный код ниже:

Язык кода:javascript
копировать
# -*- coding=utf-8
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client
import sys,base64
import logging

logging.basicConfig(level=logging.INFO, stream=sys.stdout)

secret_id = '**************'
secret_key = '**************'
token = None
scheme = 'https'
region = 'ap-guangzhou'
bucket = '********'
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token, Scheme=scheme)
client = CosS3Client(config)

# Создайте заранее подписанный URL-адрес для частных изображений с водяными знаками.
signed_url = client.get_presigned_url(
        Method = 'GET',
        Bucket = bucket,
        Key = '/shuiyin1.jpg',  # Шаблон водяного знака для частного чтения в облаке
        Expired=3600  # Срок действия истекает через 3600 секунд.
    )

# Создать файл водяного знака base64
watermark_url = 'http://{bucket}.cos.{region}.myqcloud.com/shuiyin1.jpg?{parameter}'.format(bucket=bucket, region=region,parameter=signed_url.split("?")[1])
watermark_url_base64 = bytes.decode(base64.b64encode(str.encode(watermark_url)))
# Конвертировать в URLбезопасный BASE64 кодирование
url_base64 = watermark_url_base64.replace('+','-').replace('/','_').replace('=','')


# локальный путь Простая загрузка
response = client.put_object_from_local_file(
    Bucket = bucket,
    LocalFilePath = r'C:\tmp\2.jpeg',
    Key = "admin.jpeg",
    # pic operation json struct
    PicOperations='{"is_pic_info":1,"rules":[{"fileid": "/2.jpeg","rule": "watermark/1/image/' + url_base64 + '" }]}')

print(response)

возвращаться:

Язык кода:json
копировать
{'Content-Type': 'application/xml', 'Content-Length': '827', 'Connection': 'keep-alive', 'Date': 'Tue, 16 May 2023 03:39:35 GMT', 'ETag': '"60df2287de06b***************"', 'Server': 'tencent-cos', 'x-cos-hash-crc64ecma': '113437186**********', 'x-cos-request-id': 'NjQ2MmZhZjdfZD**********', 'x-cos-storage-class': 'STANDARD', 'x-cos-version-id': 'MTg0NDUwNTk4Nj**********'}

Просмотр загруженных изображений и изображений с водяными знаками в корзине cos

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose