1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zacker330-Upyun-java-sdk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

又拍云 Java SDK


又拍云存储 Java SDK, основанный на ещё раз щёлкнем по облаку: HTTP REST API интерфейс, подходит для Java 6 и более поздних версий.

Содержание

  • Использование
  • Облачное хранилище: основные интерфейсы
    • Подготовка

      • Создание пространства *Создание UpYun клиента: UpYunClient client = UpYunClient.create("пространство", "имя авторизованного оператора", "пароль оператора");
      • Если не знаете, кто такой «авторизованный оператор», см. «Создание оператора и авторизация».
      • По умолчанию отладка отключена: client.enableDebug();
      • Ручная настройка времени ожидания: по умолчанию 30 секунд: client.timeout(60);
      • Выбор оптимального пункта доступа:
      • По умолчанию UpYun автоматически выбирает пункт доступа в зависимости от условий сети.
      • Вы можете использовать API для переключения на определённый пункт доступа:
        • Автоматический выбор пункта доступа в соответствии с условиями сети: upyun.selectAutoAPIEntry();
        • Пункт доступа Telekom: client.selectTelecomAPIEntry();
        • Пункт доступа Unicom: client.selectUnicomAPIEntry();
        • Мобильный пункт доступа: client.selectMobileAPIEntry().
      • Примечание: рекомендуется вручную настроить подходящий пункт доступа на основе состояния сети сервера для достижения оптимальной скорости доступа.
    • Загрузка файла

    • Пример 1: прямая загрузка чистого текста в облако: client.uploadFile(fileRemotePath, "test content");

    • Пример 2: загрузка файла в облако: File file = new File(localFilePath); client.uploadFile(fileRemotePath, file);

    • Другие инструкции: после успешной загрузки файла вы можете получить доступ к файлу напрямую через http://пространство.b0.upaiyun.com/savePath.

    • Создание каталогов рекурсивно: перед загрузкой файлов или изображений можно использовать метод recursionMkDir() для автоматического создания родительских каталогов до 10 уровней в глубину. client.recursionMkDir().uploadFile(fileRemotePath, file);

    • Обратите внимание: если файл с таким же именем уже существует в пространстве, он будет перезаписан, и это изменение необратимо. Поэтому, чтобы избежать перезаписи существующих файлов, вы можете сначала использовать операцию «Получение информации о файле».

    • Изображения можно загружать только в пространство для изображений, попытка загрузить другие типы файлов приведёт к ошибке «это не изображение».

    • В случае сбоя загрузки будет выброшено исключение.

    • При загрузке файла можно выполнить проверку MD5: если значение MD5 полученного файла не совпадает со значением, установленным пользователем, сервер вернёт ошибку 406 Not Acceptable. Эту опцию можно использовать для обеспечения целостности загружаемых файлов. client.contentMD5(UpYun.md5(file));

    • Пространства для изображений позволяют использовать функцию защиты исходного изображения (недоступно для пространств других типов): upyun.setFileSecret("abc"); Примечание:

      • Для использования функции защиты исходного изображения необходимо задать секретный ключ (известный только вам, например, «abc»). После успешной загрузки файла прямой доступ к нему через URL больше невозможен, вместо этого необходимо добавить секретный ключ после URL-адреса с разделительным символом (например, !). Например, если разделительный символ — это «!», а секретный ключ — «abc», то URL для доступа к загруженному файлу будет выглядеть так: http://пространство.b0.upaiyun.com/dir/sample.jpg!abc.
      • Если секретный ключ совпадает с именем версии изображения, при доступе к файлу будет использоваться функция миниатюры, а исходное изображение будет недоступно. Будьте осторожны при использовании этой функции.
    • Загрузка файла:

    • UpYunClient client = UpYunClient.create("пространство", "имя авторизованного оператора", "пароль оператора");

    • Пример 1: прямое чтение текстового содержимого: String data = client.readFileText(fileRemotePath);

    • Пример 2: скачивание файла: File file = new File(localFilePath); // путь к файлу после скачивания boolean result = client.downloadFile(fileRemotePath, file);

    • Примечание: если файла нет, будет выброшено исключение UpYunNotFoundException.

    • Получение информации о файле: UpYunClient client = ...; // получение информации о файле Map<String, String> info = client.getFileInfo(fileRemotePath);

Облачное хранилище: базовые интерфейсы

Подготовка

Создание пространства

Пользователи могут создавать собственные персонализированные пространства через основной сайт ещё раз щёлкнем по облаку. Подробные инструкции см. в [«Создание пространства»](http://wiki.upyun.com/index.php?title=Создание пространства).

Инициализация UpYun

UpYunClient client = UpYunClient.create("пространство", "имя авторизованного оператора", "пароль оператора");

Если вы не знаете, что такое «авторизованный оператор», обратитесь к «Создание оператора и авторизация».

Отладка

По умолчанию отладка выключена: client.enableDebug().

Настройка времени ожидания

По умолчанию время ожидания составляет 30 секунд: client.timeout(60).

Выбор оптимального пункта доступа

Ещё раз щёлкнем по облаку предоставляет три пункта доступа для API: Telekom, Unicom и мобильный. Если вы не укажете конкретный пункт доступа, UpYun автоматически выберет его на основе условий сети. Вы также можете использовать API для выбора определённого пункта доступа:

  • Автоматический выбор на основе условий сети: upyun.selectAutoAPIEntry();
  • Пункт доступа Telekom: client.selectTelecomAPIEntry();
  • Пункт доступа Unicom: client.selectUnicomAPIEntry();
  • Мобильный пункт доступа: client.selectMobileAPIEntry().

Примечание: рекомендуется выбрать подходящий пункт доступа вручную на основе состояния сетевой инфраструктуры сервера для оптимизации скорости доступа. Таблица кодов ошибок

HTTP-статус Возвращаемый код Описание
400 Bad Request Неверный запрос (например, в URL отсутствует имя пространства)
401 Unauthorized Несанкционированный доступ
Sign error Ошибка подписи (неверные оператор и пароль или ошибка формата подписи)
Need Date Header В инициированном запросе отсутствует информация о дате в заголовке
Date offset error Время на сервере, с которого отправлен запрос, отличается от мирового времени. Проверьте соответствие времени на сервере мировому времени
403 Not Access Ошибка прав доступа (например, попытка загрузить файл, отличный от изображения, в пространство для изображений)
File size too max Размер одного файла превышает допустимый предел (до 100 Мб)
Not a Picture File Код ошибки для пространств с изображениями. Разрешено загружать только файлы форматов jpg/png/gif/bmp/tif
Picture Size too max Код ошибки для пространств с изображениями. Общее количество пикселей в изображении не должно превышать 200 000 000
Bucket full Пространство заполнено
Bucket blocked Пространство заблокировано. Обратитесь к администратору
User blocked Пользователь заблокирован
Image Rotate Invalid Parameters Ошибка параметров поворота изображения
Image Crop Invalid Parameters Ошибка параметров обрезки изображения
404 Not Found Файл или каталог не найден; при загрузке файла или каталога родительский каталог не существует
406 Not Acceptable(path) Ошибка каталога (при создании каталога уже существует файл с таким именем; или при загрузке файла уже существует каталог с таким именем)
503 System Error Системная ошибка

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Ещё раз о Java SDK от Paddle Cloud. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zacker330-Upyun-java-sdk.git
git@api.gitlife.ru:oschina-mirror/zacker330-Upyun-java-sdk.git
oschina-mirror
zacker330-Upyun-java-sdk
zacker330-Upyun-java-sdk
master