• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sir Pereira

Image Upload API

12 mensagens neste tópico

Boas pessoal,

estou a fazer um programa que "supostamente" faz o upload de uma imagem para um servidor como o ImageShack.

Pelo que procurei, o ImageShack deve ser dos únicos que fornece uma API, mas ... não a sei utilizar, para além de já ter o código não percebi nada das explicações deles  :dontgetit:

Sugestões? Sabem de algum outro host que tenha uma API que seja fácil de utilizar?

Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Encontrei isto:

http://tbninja.net/api/

É basicamente envio de pedidos HTTP em POST e GET, com umas variáveis especiais.

A API do ImageShack é grátis? Lá diz com sites a partir de 500 visitas diárias, não vi nada de código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Encontrei isto:

http://tbninja.net/api/

É basicamente envio de pedidos HTTP em POST e GET, com umas variáveis especiais.

A API do ImageShack é grátis? Lá diz com sites a partir de 500 visitas diárias, não vi nada de código.

Pelo menos eu recebi um código no e-mail, e enviei a explicar a situação da aplicação e não sei quê.

Dear Ivo Pereira,

Thank you for your interest in the ImageShack XML API. Please reply if you have any questions.

YOUR KEY IS:  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

For detailed information about ImageShack's APIs, click here: http://code.google.com/p/imageshackapi/wiki/ImageshackAPI

Sincerely,

The ImageShack Team

http://imageshack.us

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que só precisas de usar 2 ou 3 variáveis, segundo a secção "Unified upload API":

Unified API entry point is: http://www.imageshack.us/upload_api.php for images (...)

Supported parameters are:

    * fileupload; (input type="file") - image or video file. Mandatory unless url parameter is specified.

    (...)

    * key; Your DeveloperKey. Mandatory.

Ou seja, pelo método POST, tens de enviar aquelas duas variáveis: fileupload, que contém os dados da tua imagem, e key, a tua chave. Em principio, será ler o ficheiro com um streamreader ou similar, e enviar com um webclient. Depois, tens de ir lendo em XML as respostas que te são enviadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que só precisas de usar 2 ou 3 variáveis, segundo a secção "Unified upload API":

Ou seja, pelo método POST, tens de enviar aquelas duas variáveis: fileupload, que contém os dados da tua imagem, e key, a tua chave. Em principio, será ler o ficheiro com um streamreader ou similar, e enviar com um webclient. Depois, tens de ir lendo em XML as respostas que te são enviadas.

Para quê o StreamReader? Não é a localização do ficheiro?

E como tenho acesso ao XML?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se quiseres um fichiero local, vais ter de usar o streamreader e despejar lá os dados do ficheiro. Se for um ficheiro que esteja na net, tens de usar outra variável, url.

O XML vem sempre por resposta ao teu pedido, ou seja, a resposta obtida no webclient vai ser um xml com uma mensagem de erro, ou no caso de sucesso, deves receber um url com a imagem.

Consulta aquela secção do "Unified upload API", pois tem tudo o que precisas para fazer o upload de imagens.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se quiseres um fichiero local, vais ter de usar o streamreader e despejar lá os dados do ficheiro. Se for um ficheiro que esteja na net, tens de usar outra variável, url.

O XML vem sempre por resposta ao teu pedido, ou seja, a resposta obtida no webclient vai ser um xml com uma mensagem de erro, ou no caso de sucesso, deves receber um url com a imagem.

Consulta aquela secção do "Unified upload API", pois tem tudo o que precisas para fazer o upload de imagens.

Por acaso já tinha visto, mas numa primeira abordagem geral não percebi nada :)

Vou ver com mais atenção ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas por exemplo, se eu colocar no Browser:

http://www.imageshack.us/upload_api.php?url=http://www.freaksuncensored.com/Fedor_Jefticheff_Jeftichew_JoJo_the_Russian_Dog_Faced_Man.jpg&key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ele vai-me dar uma página em branco do ImageShack, e não retorna qualquer valor XML :dontgetit:

EDIT: Já consegui ;)

vamos lá ver o que consigo fazer.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora tenho uma outra dúvida, como tirar o parâmetro image_link do ficheiro XML? Já andei à procura mas não estou a ver como tirar os valores individualmente.

256200919h18m15s.th.jpg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes usar as ferramentas de XML que o VB.net te oferece. Não sei muito de manipulação de XML, mas penso que podes usar XPath. Crias um novo documento XPath, e depois segues o exemplo:

http://vbnotebookfor.net/2007/09/11/introduction-to-using-xpath-in-vbnet/

No fundo, o Xpath é como se indicasses o caminho até chegar a um fichiero, neste casos, vais indicando os nós (/<elemento_raiz>/links/image_link)

Ou então, à boa e velha maneira de encontrar o conteúdo dado o ínicio e o fim da string :) (pesquisa por <image_link> e pela terminação </image_link> e sabes que no meio tens o endereço pretendido )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora tenho uma outra dúvida, como tirar o parâmetro image_link do ficheiro XML? Já andei à procura mas não estou a ver como tirar os valores individualmente.

256200919h18m15s.th.jpg

Mais ou menos isto (não testado é obvio)

        Dim xmlDoc As New Xml.XmlDocument
        Dim xmlPath As String = "c:\myXML.xml"
        xmlDoc.Load(xmlPath)
        Dim node As Xml.XmlNode = xmlDoc.SelectSingleNode("//Links/Image_Link/")
        Response.WriteLin(node.InnerText)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já experimento, e já agora, para se ler o ficheiro XML, como tu tens aí, esse precisamos de o tirar para o computador, ou pode ser lido através da Internet?

Abraço :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora