Это двуязычная снимок страницы, сохраненная пользователем в 2024-8-17 21:28 для https://getsharex.com/docs/custom-uploader, предоставлено с двуязычной поддержкой от Иммерсивный перевод. Узнать, как сохранить?

ShareX

 Пользовательский загрузчик

 Что такое пользовательский загрузчик?


Пользовательская система загрузчика в ShareX позволяет пользователям загружать изображения/тексты/файлы на хостинг или сокращать/обмениваться URL. Эта функция в основном используется пользователями, которые размещают свои собственные услуги хостинга.

 Экспорт / Импорт


Вы можете экспортировать ваш пользовательский загрузчик с расширением .sxcu, что позволит пользователям просто дважды щелкнуть по этому файлу, чтобы использовать пользовательский загрузчик.


Если тип назначения настроен, ShareX также может установить этот пользовательский загрузчик в качестве выбранного пользовательского загрузчика и изменить текущее место назначения на этот пользовательский загрузчик, поэтому пользователям не потребуется дополнительная настройка для его использования.

 Имя


В списке пользовательских загрузчиков будет использоваться это имя. Поле "Имя" является необязательным. Если оставить его пустым, ShareX будет автоматически использовать домен URL запроса в качестве имени. Рекомендуется оставить поле имени пустым, если у вас нет нескольких загрузчиков, использующих один и тот же домен.


Например, если URL запроса https://example.com/upload.php и поле name пустое, то в списке пользовательских загрузчиков будет использовано имя example.com.

 Тип пункта назначения


Тип назначения используется, когда пользователи импортируют пользовательский загрузчик, дважды щелкнув по файлу .sxcu.

 Метод


Список доступных методов HTTP-запросов:


Если запрос не имеет тела и будут использоваться только параметры, то предпочтительнее использовать метод GET. Если тело запроса содержит данные формы (multipart/form-data), то предпочтительнее метод POST.

 URL-адрес запроса


Запрос будет отправлен на этот URL.


Пример: https://example.com/upload.php

 Параметры URL


Параметры будут использоваться для создания строки запроса URL.


Для загрузчика текста или сократителя URL в качестве значения можно использовать синтаксис {input} для ввода текста или URL.


Вы также можете использовать динамические значения, например %mo, чтобы получить текущий месяц и т. д.


Например, если вы зададите такие параметры:

 Имя  Значение
api_key eUM14R4g4pMS
 частный  правда


Тогда при отправке запроса строка запроса будет добавлена к URL-адресу следующим образом:

https://example.com/upload.php?api_key=eUM14R4g4pMs&private=true

 Заголовки


Заголовки могут использоваться для передачи дополнительной информации при запросе. Чаще всего API используют заголовки для авторизации.


Заголовки запроса по умолчанию тоже можно переопределить, например, так:


Пример базовой аутентификации доступа:

 Имя  Значение
 Авторизация Basic {base64:USERNAME:PASSWORD}

 Пример ключа API:

 Имя  Значение
api_key eUM14R4g4pMS

 Тело


Поддерживаемые типы тел запросов:


Чаще всего, если метод запроса API - GET, то с параметрами используется тело No body. Если метод запроса - POST, то используется тело формы (multipart/form-data). Но это не всегда так, поэтому вы должны проверить документацию API, чтобы убедиться, что ожидает запрос.

 Аргументы тела


Для загрузчика текста или сократителя URL в качестве значения можно использовать синтаксис {input} для ввода текста или URL.

 Имя формы файла


Это поле может использоваться только в том случае, если Body - это данные формы (multipart/form-data).


Например, в этом HTML-коде: <input type="file" name="file_image"> имя формы файла - file_image.

URL


Эти текстовые поля можно использовать для разбора ответа, чтобы получить результат в виде URL. Если ответ содержит только URL, то в текстовое поле URL ничего писать не нужно.


Не забудьте также разобрать сообщение об ошибке, чтобы ShareX мог показать пользователям удобное сообщение об ошибке.

 Пользовательский синтаксис загрузчика


Существует специальный синтаксис, который можно использовать для выполнения некоторых задач, например, для разбора URL из ответов JSON.


Этот синтаксис используется в следующих разделах, за некоторыми исключениями:


Например, синтаксис, включающий разбор ответа, можно использовать только в разделах URL, как и ожидалось.


Примечание: Если вы хотите использовать {, }, | или \ символы в любой из поддерживаемых синтаксисом секций, вы можете экранировать их с помощью \ символа. Например: \{


Список всех доступных синтаксисов с примерами использования вы найдете внизу.


 ответ


Если ответ содержит только имя файла (или id) и вы хотите добавить его к домену, то можете использовать этот синтаксис.


Но если ответ содержит только полный URL, то вам не нужно использовать этот синтаксис, потому что пустое текстовое поле URL будет использовать ответ автоматически.

 Синтаксис:

{response}

 Пример URL:

https://example.com/{response}

responseurl


Может использоваться для получения URL перенаправления. Если перенаправления не произошло, то это будет просто URL запроса.

Syntax:

{responseurl}

Example URL:

{responseurl}

Can be used to get specific response header value.

Syntax:

{header:name}

Example URL:

{header:location}

json

You can use JsonPath to parse URL from JSON response.

Syntax:

{json:jsonPath}
{json:input|jsonPath}

Example:

{
    "status": 200,
    "data": {
        "link": "https:\/\/example.com\/image.png"
    }
}
{json:data.link}

Example 2:

{  
    "success": true,
    "files": [  
        {  
            "name": "image.png",
            "url": "https://example.com/image.png"
        }
    ]
}
{json:files[0].url}

xml

You can use XPath to parse URL from XML response.

Syntax:

{xml:xpath}
{xml:input|xpath}

Example:

<?xml version="1.0" encoding="UTF-8"?>
<files>
    <file>
        <name>image.png</name>
        <url>https://example.com/image.png</url>
    </file>
</files>
{xml:/files/file[1]/url}

regex

If response is not JSON or XML then you can use Regular expression (Regex) to parse response text.

While writing regex pattern don't forget to escape {, }, |, \ characters with \.

Syntax:

{regex:regexPattern}
{regex:regexPattern|groupIndex}
{regex:regexPattern|groupName}
{regex:input|regexPattern|groupIndex}
{regex:input|regexPattern|groupName}

Example:

{regex:(?<=href=").+(?=")}

Example with group index:

{regex:href="(.+)"|1}

Example with group name:

{regex:href="(?<url>.+)"|url}

input

If you are using text custom uploader then this syntax will be replaced with text which you gonna upload, if it is URL shortener or URL sharing service then syntax will be replaced with URL. This syntax mainly used as argument value.

Syntax:

{input}

Example argument:

Name Value
text {input}

filename

This syntax will be replaced with file name. Most of the time you don't need to use this syntax because when doing multipart/form-data file upload, file name already included in request.

Syntax:

{filename}

Example argument:

Name Value
title {filename}

random

If you would like to use random domain each upload you can use this syntax.

Syntax:

{random:value1|value2|value3}

Example URL:

https://{random:subdomain1|subdomain2}.{random:domain1|domain2|domain3}.com/{json:files[0].url}

select

This will show window with all values as buttons. So you can select dynamically which text input to use. This syntax can be useful if you have multiple domains and would like to select specific domain each upload.

Syntax:

{select:value1|value2|value3}

Example URL:

https://{select:domain1.com|domain2.com|domain3.com}/{json:files[0].url}

inputbox

This will show input box for user to input text. This syntax can be used if user prefer to write different value for argument or URL part each upload.

First parameter is window title, second parameter is default text for input box. Both parameter is optional.

Syntax:

{inputbox}
{inputbox:title}
{inputbox:title|default text}

Example URL:

https://{inputbox:Input subdomain|i}.example.com/{json:files[0].url}

base64

Encode text to Base64.

Syntax:

{base64:text}

Example header:

Name Value
Authorization Basic {base64:username:password}

SXCU file

ShareX custom uploader (SXCU) files are JSON files at their core.

Example JSON schema looks like this:

{
  "Version": "14.0.0",
  "Name": "Example",
  "DestinationType": "ImageUploader, TextUploader, FileUploader",
  "RequestMethod": "POST",
  "RequestURL": "https://example.com/upload.php",
  "Parameters": {
    "Parameter1": "Value1",
    "Parameter2": "Value2",
    "Parameter3": "Value3"
  },
  "Headers": {
    "Header1": "Value1",
    "Header2": "Value2",
    "Header3": "Value3"
  },
  "Body": "MultipartFormData",
  "Arguments": {
    "Argument1": "Value1",
    "Argument2": "Value2",
    "Argument3": "Value3"
  },
  "FileFormName": "file",
  "URL": "{json:url}",
  "ThumbnailURL": "{json:thumbnail_url}",
  "DeletionURL": "{json:deletion_url}",
  "ErrorMessage": "{json:error}"
}

Enums:

Исходный текст
Оцените этот перевод
Ваш отзыв поможет нам улучшить Google Переводчик

установить Ограничения сняты