Jump to content
Sign in to follow this  
Sir Pereira

Image Upload API

Recommended Posts

Sir Pereira

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

Share this post


Link to post
Share on other sites
softklin

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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Sir Pereira

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

Share this post


Link to post
Share on other sites
softklin

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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Sir Pereira

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?

Share this post


Link to post
Share on other sites
softklin

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.


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
Sir Pereira

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 ;)

Share this post


Link to post
Share on other sites
Sir Pereira

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.

Share this post


Link to post
Share on other sites
softklin

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 )


Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Share this post


Link to post
Share on other sites
jpaulino

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)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.