Carregamento de objetos - POST
Características
Carregamento de um objeto significa adicionar um objeto a um bucket. Para executar essa operação, você deve ter a permissão de gravação para o bucket.
O nome de cada objeto em um bucket deve ser exclusivo.
Com o versionamento não ativado, se um objeto a ser carregado tiver o mesmo nome que um objeto existente no bucket, o objeto recém-carregado substituirá o existente. Para proteger os dados de serem corrompidos durante a transmissão, você pode adicionar o parâmetro Content-MD5 no campo de formulário. Depois de receber o pedido, OBS irá realizar uma verificação de consistência MD5. Se os dois valores MD5 forem inconsistentes, o sistema retornará uma mensagem de erro. Você também pode especificar o valor do parâmetro x-obs-acl para configurar uma política de controle de acesso para o objeto.
Você também pode carregar um objeto usando o método POST.
Para um único upload, o tamanho do objeto a ser carregado varia de [0, 5 GB]. Para fazer upload de um arquivo com mais de 5 GB, consulte Operações em carregamento de multiparte.
Esta operação suporta encriptação do lado do servidor.
Diferenças entre os métodos PUT e POST
Os parâmetros são passados pelo cabeçalho da solicitação se o método PUT for usado para carregar objetos; se o método POST for usado para carregar objetos, os parâmetros serão passados pelo campo do formulário no corpo da mensagem.
Com o método PUT, você precisa especificar o nome do objeto no URL, mas o nome do objeto não é necessário com o método POST, que usa o nome de domínio do bucket como o URL. As linhas de solicitação dos dois métodos são as seguintes:
PUT /ObjectName HTTP/1.1
POST / HTTP/1.1
Para obter detalhes sobre o upload do PUT, consulte Carregamento de objetos - PUT.
Controle de versões
Se o controle de versão estiver ativado para um bucket, o sistema gerará automaticamente um ID de versão exclusivo para o objeto solicitado nesse bucket e retornará o ID de versão no cabeçalho de resposta x-obs-version-id. Se o controle de versão for suspenso para um bucket, o ID de versão do objeto solicitado nesse bucket será null. Para obter detalhes sobre os status de versionamento de um bucket, consulte Configuração do versionamento para um bucket.
Sintaxe da solicitação
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
POST / HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com User-Agent: browser_data Accept: file_types Accept-Language: Regions Accept-Encoding: encoding Accept-Charset: character_set Keep-Alive: 300 Connection: keep-alive Content-Type: multipart/form-data; boundary=9431149156168 Content-Length: length --9431149156168 Content-Disposition: form-data; name="key" acl --9431149156168 Content-Disposition: form-data; name="success_action_redirect" success_redirect --9431149156168 Content-Disposition: form-data; name="content-Type" content_type --9431149156168 Content-Disposition: form-data; name="x-obs-meta-uuid" uuid --9431149156168 Content-Disposition: form-data; name="x-obs-meta-tag" metadata --9431149156168 Content-Disposition: form-data; name="AccessKeyId" access-key-id --9431149156168 Content-Disposition: form-data; name="policy" encoded_policy --9431149156168 Content-Disposition: form-data; name="signature" signature= --9431149156168 Content-Disposition: form-data; name="file"; filename="MyFilename" Content-Type: image/jpeg file_content --9431149156168 Content-Disposition: form-data; name="submit" Upload to OBS --9431149156168-- |
Parâmetros de solicitação
Esta solicitação não contém nenhum parâmetro.
Cabeçalhos de solicitação
Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.
Se você deseja obter informações de configuração do CORS, deve usar os cabeçalhos em Tabela 1.
Cabeçalho |
Descrição |
Obrigatório |
---|---|---|
Origin |
Origem da solicitação de cross-domain especificada pela pré-solicitação. Geralmente, é um nome de domínio. Tipo: string |
Sim |
Access-Control-Request-Headers |
Indica os cabeçalhos HTTP de uma solicitação. A solicitação pode usar vários cabeçalhos HTTP. Tipo: string |
Não |
Se uma mensagem de erro ainda for exibida depois que o CORS tiver sido configurado, retifique a falha consultando Por que um erro é relatado mesmo se o CORS tiver sido configurado?
Elementos de solicitação
Esta solicitação usa elementos de formulário. Tabela 2 descreve os elementos do formulário.
Parâmetro |
Descrição |
Obrigatório |
---|---|---|
file |
Indica o conteúdo do objeto a ser carregado. Tipo: conteúdo binário ou texto Restrição: Este parâmetro deve ser o último parâmetro em um formulário. Caso contrário, os parâmetros após este parâmetro serão todos descartados. Além disso, cada solicitação contém apenas um parâmetro de arquivo. |
Sim |
key |
Indica o nome do objeto a ser criado. Tipo: string |
Sim |
AccessKeyId |
Indica a chave de acesso (AK) do solicitante. Tipo: string Restrição: Este parâmetro é obrigatório se houver política de parâmetro de policy ou signature na solicitação. |
Sim quando a restrição é atendida. |
policy |
Indica a política de segurança na solicitação. Para obter detalhes sobre o formato da política, consulte o formato da política em Autenticação de assinatura realizada na tabela carregada por meio de um navegador. Tipo: string Restrição: Esse parâmetro é obrigatório se o bucket fornecer o AccessKeyId (ou signature). |
Sim quando a restrição é atendida. |
signature |
Indica uma cadeia de caracteres de assinatura calculada com base em StringToSign. Tipo: string Restrição: Esse parâmetro é obrigatório se o bucket fornecer o AccessKeyId (ou policy). |
Sim quando a restrição é atendida. |
token |
Especifica a AK, a assinatura e a política de segurança do iniciador da solicitação. A prioridade de um token é maior do que a de um AK especificado, a assinatura da solicitação e a política de segurança do iniciador da solicitação. Tipo: string Exemplo: HTML: <input type= "text" name="token" value="ak:signature:policy" /> |
Não |
x-obs-acl |
Ao criar um bucket, você pode adicionar esse cabeçalho para definir a política de controle de permissão para o bucket. As políticas comuns predefinidas são as seguintes: private, public-read, public-read-write, public-read-delivered, e public-read-write-delivered (para detalhes sobre as políticas, veja a configuração ACL usando campos do cabeçalho em ACL). Tipo: string Um exemplo é fornecido como segue: Política: {"acl": "public-read" } HTML: <input type="text" name="acl" value="public-read" /> |
Não |
x-obs-grant-read |
Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para ler objetos e obter metadados de objeto. Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: {'grant-read': 'id=domainId1' }, Em HTML: <input type="text" name="grant-read" value="id=domainId1" /> |
Não |
x-obs-grant-read-acp |
Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para obter a ACL do objeto. Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: {"grant-read-acp": "id=domainId1" }, Em HTML: <input type="text" name="grant-read-acp" value="id=domainId1" /> |
Não |
x-obs-grant-write-acp |
Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para gravar a ACL do objeto. Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: {"grant-write-acp": "id=domainId1" }, Em HTML: <input type="text" name="grant-write-acp" value="id=domainId1" /> |
Não |
x-obs-grant-full-control |
Ao criar um objeto, você pode usar esse cabeçalho para autorizar todos os usuários em uma conta a permissão para ler o objeto, obter os metadados do objeto, obter a ACL do objeto e gravar a ACL do objeto. Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: {"grant-full-control": "id=domainId1" }, Em HTML: <input type="text" name="grant-full-control" value="id=domainId1" /> |
Não |
x-obs-storage-class |
Ao criar um objeto, você pode usar esse cabeçalho para especificar a classe de armazenamento do objeto. Se você não usar esse cabeçalho, a classe de armazenamento de objeto será a classe de armazenamento padrão do bucket. Tipo: string O OBS fornece três classes de armazenamento: Padrão (STANDARD), Acesso Infrequente (WARM) e Arquivo (COLD). Portanto, os valores para este elemento podem ser STANDARD, WARM, e COLD. Esses valores são sensíveis a maiúsculas e minúsculas. Um exemplo é fornecido como segue: Em POLÍTICA: {"storage-class": "STANDARD" }, Em HTML: <input type="text" name="x-obs-storage-class" value="STANDARD" /> |
Não |
Cache-Control, Content-Type, Content-Disposition, Content-Encoding Expires |
Cabeçalhos HTTP padrão. O OBS registra esses cabeçalhos. Se você baixar o objeto ou enviar a solicitação HEAD Object, esses valores de parâmetro serão retornados. Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: ["starts-with", "$Content-Type", "text/"], Em HTML: <input type="text" name="content-type" value="text/plain" /> |
Não |
success_action_redirect |
Indica o endereço (URL) para o qual uma solicitação respondida com sucesso é redirecionada.
Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: {"success_action_redirect": "http://123458.com"}, Em HTML: <input type="text" name="success_action_redirect" value="http://123458.com" /> |
Não |
x-obs-meta-* |
Indica metadados definidos pelo usuário. Ao criar um objeto, você pode usar um cabeçalho começando com x-obs-meta- para definir os metadados do objeto em uma solicitação HTTP. Os metadados definidos pelo usuário serão retornados no cabeçalho da resposta quando você recuperar ou consultar os metadados do objeto. Para obter mais informações, consulte Gerenciamento de metadados de objeto. Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: {" x-obs-meta-test ": " test metadata " }, Em HTML: <input type="text" name=" x-obs-meta-test " value=" test metadata " /> |
Não |
x-obs-persistent-headers |
Ao criar um objeto, você pode adicionar o cabeçalho x-obs-persistent-headers em uma solicitação HTTP para especificar um ou mais cabeçalhos de resposta definidos pelo usuário. Cabeçalhos de resposta definidos pelo usuário serão retornados no cabeçalho de resposta quando você recuperar o objeto ou consultar os metadados do objeto. Tipo: string Formato: x-obs-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2)... Nota: Itens, como key1 e key2, são cabeçalhos definidos pelo usuário. Se eles contiverem caracteres não-ASCII ou irreconhecíveis, eles podem ser codificados usando URL ou Base64. O servidor processa esses cabeçalhos como strings de caracteres, mas não os decodifica. Itens, como value1 e value2 são os valores dos cabeçalhos correspondentes. base64_encode indica que o valor é codificado usando Base64. Um cabeçalho definido pelo usuário e seu valor codificado em Base64 são conectados usando um (:) de dois pontos para formar um par chave-valor. Todos os pares chave-valor são separados com uma vírgula (,) e são colocados no cabeçalho x-obs-persistent-headers. O servidor então decodifica o valor carregado. Exemplos: Política: {"x-obs-persistent-headers": "key1:dmFsdWUx,key2:dmFsdWUy" }, HTML: <input type="text" name="x-obs-persistent-headers" value="key1:dmFsdWUx,key2:dmFsdWUy" /> O cabeçalho retornado para baixar o objeto ou obter os metadados do objeto é key1:value1 or key2:value2 respectivamente. Restrições: 1. Cabeçalhos de resposta definidos pelo usuário especificados dessa maneira não podem ser prefixados com x-obs-, ou seja, você pode usar key1, em vez de x-obs-key1, como o prefixo. 2. O cabeçalho HTTP padrão, por exemplo, host/content-md5/origin/range/Content-Disposition, não pode ser usado. 3. O comprimento total do cabeçalho e dos metadados definidos pelo usuário não pode exceder 8 KB. 4. Se as mesmas chaves forem transferidas, separe os valores com vírgulas (,) e coloque esses valores na mesma chave para retornar. |
Não |
success_action_status |
Indica o código de status retornado após a solicitação ser recebida com êxito. Os valores possíveis são 200, 201, e 204.
Tipo: string Um exemplo é fornecido como segue: Em POLÍTICA: ["starts-with", "$success_action_status", ""], Em HTML: <input type="text" name="success_action_status" value="200" /> |
Não |
x-obs-website-redirect-location |
Se um bucket estiver configurado com a função de hospedagem de sites estáticos, ele redirecionará as solicitações desse objeto para outro objeto no mesmo bucket ou para um URL externo. O OBS armazena o valor desse cabeçalho nos metadados do objeto. Não há valor padrão. Restrição: O valor deve ser prefixado por uma barra (/), http://, ou https://. O comprimento do valor não pode exceder 2 KB. |
Não |
x-obs-server-side-encryption |
Indica que SSE-KMS é usado. Tipo: string Exemplo: x-obs-server-side-encryption:kms |
Não. Esse cabeçalho é necessário quando o SSE-KMS é usado. |
x-obs-server-side-encryption-kms-key-id |
ID da chave mestra. Este cabeçalho é usado no modo SSE-KMS. Se o cliente não fornecer a chave mestra, a chave mestra padrão será usada. Tipo: string Os dois formatos a seguir são suportados: 1. regionID:domainID:key/key_id 2. key_id regionID é o ID da região à qual a chave pertence. domainID é o ID da conta do locatário ao qual a chave pertence. key_id é o ID da chave criado em DEW. Exemplo: 1. x-obs-server-side-encryption-kms-key-id: region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 2. x-obs-server-side-encryption-kms-key-id:4f1cd4de-ab64-4807-920a-47fc42e7f0d0 |
Não |
x-obs-server-side-encryption-customer-algorithm |
Algoritmo de encriptação. O cabeçalho é usado no modo SSE-C. Tipo: string Exemplo: x-obs-server-encryption-customer-algorithm:AES256 Restrições: Este cabeçalho deve ser usado em conjunto com x-obs-server-side-encryption-customer-key e x-obs-server-side-encryption-customer-key-MD5. |
Não. Este cabeçalho é necessário quando SSE-C é usado. |
x-obs-server-side-encryption-customer-key |
Uma chave usada para criptografar objetos. O cabeçalho é usado no modo SSE-C. Essa chave é usada para criptografar objetos. Tipo: string Exemplo: x-obs-server-encryption-side-customer-key:K7QkYpBkM5+hcs27fsNkUnNVaobncnLht/rCB2o/9Cw= Restrições: Esse cabeçalho é uma chave de 256 bits codificada em base64 e deve ser usado em conjunto com x-obs-server-side-encryption-customer-algorithm e x-obs-server-side-encryption-customer-key-MD5. |
Se algum processo é anormal: Este cabeçalho é necessário quando SSE-C é usado. |
x-obs-server-side-encryption-customer-key-MD5 |
Indica o valor MD5 de uma chave usada para criptografar objetos. O cabeçalho é usado no modo SSE-C. O valor MD5 é usado para verificar se ocorre algum erro durante a transmissão da chave. Tipo: string Exemplo: x-obs-server-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== Restrições: Esse cabeçalho é uma string codificada em Base64 de 128 bits e deve ser usada em conjunto com x-obs-server-side-encryption-customer-algorithm e x-obs-server-side-encryption-customer-key. |
Não. Este cabeçalho é necessário quando SSE-C é usado. |
x-obs-expires |
Indica o tempo de expiração de um objeto, em dias. Um objeto será automaticamente excluído quando expirar (calculado a partir do tempo da última modificação do objeto). Tipo: inteiro Exemplo: x-obs-expires:3 |
Não |
Sintaxe da resposta
1 2 3 4 5 |
HTTP/1.1 status_code Content-Type: application/xml Location: location Date: date ETag: etag |
Cabeçalhos de resposta
A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.
Além da resposta comum cabeçalhos, a seguinte mensagem cabeçalhos também podem ser utilizados. Para mais detalhes, consulte Tabela 3.
Cabeçalho |
Descrição |
---|---|
x-obs-version-id |
ID da versão do objeto. Se o controle de versão estiver ativado para o bucket, o número da versão do objeto será retornado. Uma string null será retornada se o bucket que abriga o objeto tiver o versionamento suspenso. Tipo: string |
Access-Control-Allow-Origin |
Indica que a origem é incluída na resposta se a origem na solicitação atender aos requisitos de configuração do CORS quando o CORS é configurado para buckets. Tipo: string |
Access-Control-Allow-Headers (Cabeçalhos de Acesso-Controle-Permitir) |
Indica que os cabeçalhos serão incluídos na resposta se os cabeçalhos da solicitação atenderem aos requisitos de configuração do CORS quando o CORS for configurado para buckets. Tipo: string |
Access-Control-Max-Age |
Indica MaxAgeSeconds na configuração CORS do servidor quando o CORS é configurado para buckets. Tipo: inteiro |
Access-Control-Allow-Methods |
Indica que os métodos na regra são incluídos na resposta se Access-Control-Request-Method na solicitação atender aos requisitos de configuração do CORS quando o CORS estiver configurado para buckets. Tipo: string Os valores possíveis são GET, PUT, HEAD, POST e DELETE. |
Access-Control-Expose-Headers |
Indica ExposeHeader na configuração CORS de um servidor quando o CORS é configurado para buckets. Tipo: string |
x-obs-server-side-encryption |
Este cabeçalho é incluído em uma resposta se SSE-KMS for usado. Tipo: string Exemplo: x-obs-server-side-encryption:kms |
x-obs-server-side-encryption-kms-key-id |
Indica a ID da chave mestra. Este cabeçalho é incluído em uma resposta se SSE-KMS for usado. Tipo: string Formato:regionID:domainID:key/key_id regionID é o ID da região à qual a chave pertence. domainID é o ID da conta do locatário ao qual a chave pertence. key_id é o ID da chave usado nessa encriptação. Exemplo: x-obs-server-side-encryption-kms-key-id:region:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 |
x-obs-server-side-encryption-customer-algorithm |
Indica um algoritmo de encriptação. Este cabeçalho é incluído em uma resposta se SSE-C é usado. Tipo: string Exemplo: x-obs-server-encryption-customer-algorithm:AES256 |
x-obs-server-side-encryption-customer-key-MD5 |
Indica o valor MD5 de uma chave usada para criptografar objetos. Este cabeçalho é incluído em uma resposta se SSE-C é usado. Tipo: string Exemplo: x-obs-server-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== |
Elementos de resposta
Esta resposta não envolve elementos.
Respostas de erro
Nenhuma resposta de erro especial é retornada. Para obter detalhes sobre respostas de erro, consulte Tabela 2.
Solicitação de exemplo 1
Carregamento comum de POST
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
POST / HTTP/1.1 Date: WED, 01 Jul 2015 04:15:23 GMT Host: examplebucket.obs.region.myhuaweicloud.com Content-Type: multipart/form-data; boundary=7db143f50da2 Content-Length: 2424 Origin: www.example.com Access-Control-Request-Headers:acc_header_1 --7db143f50da2 Content-Disposition: form-data; name="key" object01 --7db143f50da2 Content-Disposition: form-data; name="acl" public-read --7db143f50da2 Content-Disposition: form-data; name="content-type" text/plain --7db143f50da2 Content-Disposition: form-data; name="expires" WED, 01 Jul 2015 04:16:15 GMT --7db143f50da2 Content-Disposition: form-data; name="AccessKeyId" 14RZT432N80TGDF2Y2G2 --7db143f50da2 Content-Disposition: form-data; name="policy" ew0KICAiZXhwaXJhdGlvbiI6ICIyMDE1LTA3LTAxVDEyOjAwOjAwLjAwMFoiLA0KICAiY29uZGl0aW9ucyI6IFsNCiAgICB7ImJ1Y2tldCI6ICJleG1hcGxlYnVja2V0IiB9LA0KICAgIHsiYWNsIjogInB1YmxpYy1yZWFkIiB9LA0KICAgIHsiRXhwaXJlcyI6ICIxMDAwIiB9LA0KICAgIFsiZXEiLCAiJGtleSIsICJvYmplY3QwMSJdLA0KICAgIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJ0ZXh0LyJdLA0KICBdDQp9DQo= --7db143f50da2 Content-Disposition: form-data; name="signature" Vk6rwO0Nq09BLhvNSIYwSJTRQ+k= --7db143f50da2 Content-Disposition: form-data; name="file"; filename="C:\Testtools\UpLoadFiles\object\1024Bytes.txt" Content-Type: text/plain 01234567890 --7db143f50da2 Content-Disposition: form-data; name="submit" Upload --7db143f50da2-- |
Resposta de exemplo 1
Depois que o CORS é configurado para um bucket, a resposta contém as informações Access-Control-*.
1 2 3 4 5 6 7 8 9 10 11 12 |
HTTP/1.1 204 No Content x-obs-request-id: 90E2BA00C26C00000133B442A90063FD x-obs-id-2: OTBFMkJBMDBDMjZDMDAwMDAxMzNCNDQyQTkwMDYzRkRBQUFBQUFBQWJiYmJiYmJi Access-Control-Allow-Origin: www.example.com Access-Control-Allow-Methods: POST,GET,HEAD,PUT Access-Control-Allow-Headers: acc_header_01 Access-Control-Max-Age: 100 Access-Control-Expose-Headers: exp_header_01 Content-Type: text/xml Location: http://examplebucket.obs.region.myhuaweicloud.com/object01 Date: WED, 01 Jul 2015 04:15:23 GMT ETag: "ab7abb0da4bca5323ab6119bb5dcd296" |
Solicitação de exemplo 2
Carregue um objeto com os x-obs-acl, classe de armazenamento e cabeçalho de redirecionamento transportados na mensagem de solicitação.
Antes da codificação, o conteúdo da política é o seguinte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "expiration":"2018-07-17T04:54:35Z", "conditions":[ { "content-type":"text/plain" }, { "x-obs-storage-class":"WARM" }, { "success_action_redirect":"http://www.example.com" }, { "x-obs-acl":"public-read" }, [ "starts-with", "$bucket", "" ], [ "starts-with", "$key", "" ] ] } |
Pedido da amostra:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
POST / HTTP/1.1 Host: examplebucket.obs.region.myhuaweicloud.com Accept-Encoding: identity Content-Length: 947 Content-Type: multipart/form-data; boundary=9431149156168 User-Agent: OBS/Test --9431149156168 Content-Disposition: form-data; name="x-obs-acl" public-read --9431149156168 Content-Disposition: form-data; name="AccessKeyId" H4IPJX0TQTHTHEBQQCEC --9431149156168 Content-Disposition: form-data; name="key" my-obs-object-key-demo --9431149156168 Content-Disposition: form-data; name="signature" WNwv8P1ZiWdqPQqjXeLmAfzPDAI= --9431149156168 Content-Disposition: form-data; name="policy" eyJleHBpcmF0aW9uIjoiMjAxOC0wNy0xN1QwODozNDoyM1oiLCAiY29uZGl0aW9ucyI6W3siY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9LHsieC1vYnMtYWNsIjoicHVibGljLXJlYWQifSxbInN0YXJ0cy13aXRoIiwgIiRidWNrZXQiLCAiIl0sWyJzdGFydHMtd2l0aCIsICIka2V5IiwgIiJdXX0= --9431149156168 Content-Disposition: form-data; name="content-type" text/plain --9431149156168 Content-Disposition: form-data; name="file"; filename="myfile" Content-Type: text/plain c2c6cd0f-898e-11e8-aab6-e567c91fb541 52b8e8a0-8481-4696-96f3-910635215a78 --9431149156168-- |
Resposta de exemplo 2
1 2 3 4 5 6 7 |
HTTP/1.1 204 No Content Server: OBS Location: http://examplebucket.obs.region.myhuaweicloud.com/my-obs-object-key-demo ETag: "17a83fc8d431273405bd266114b7e034" x-obs-request-id: 5DEB00000164A728A7C7F4E032214CFA x-obs-id-2: 32AAAUJAIAABAAAQAAEAABAAAQAAEAABCSwj2PcBE0YcoLHUDO7GSj+rVByzjflA Date: Tue, 17 Jul 2018 07:33:36 GMT |