Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upload fajla(slike) pomocu REST-a?

[es] :: PHP :: Upload fajla(slike) pomocu REST-a?

[ Pregleda: 1737 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kruksmail
programer
Beograd

Član broj: 268137
Poruke: 43
212.200.34.*



+1 Profil

icon Upload fajla(slike) pomocu REST-a?25.10.2011. u 12:27 - pre 152 meseci
Zdravo narode,
koristim Zend framework i nikako ne mogu nigde naci kako da napravim web servis(REST) za upload slike. Jel ima ko primer kako da to izvedem uz pomoc php-a?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-5.sezampro.rs.



+33 Profil

icon Re: Upload fajla(slike) pomocu REST-a?25.10.2011. u 18:32 - pre 152 meseci
Jel praviš klijenta za neki REST servis, ili ti praviš neki svoj servis, pa hoćeš da koristiš Zend_Rest_Server? Ako je ovo prvo u pitanju (a rekao bih da jeste), onda najpre opiši kako izgleda taj servis, metode njegovog API-ja, itd. Koje parametre prihvata taj njegov metod za upload slike?

A možda tebi treba nešto dosta jednostavnije, pa onda verovatno taj posao možeš da odradiš i sa Zend_Http_Client i njegovim setFileUpload() metodom.
 
Odgovor na temu

kruksmail
programer
Beograd

Član broj: 268137
Poruke: 43
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Upload fajla(slike) pomocu REST-a?25.10.2011. u 20:55 - pre 152 meseci
Hvala na odgovoru Nikola.
Imam sledeci problem: lik koji pravi aplikaciju za android treba da posalje na server sliku, a ja sam mislio da mu napravim nesto(u ovom slucaju Zend_Rest_Server) sto ce sliku prihvatiti. Prvo sto mi je palo na pamet je bio web servis, ali ako imas neku bolju opciju dobro je dosla.
 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
89.111.240.*



+27 Profil

icon Re: Upload fajla(slike) pomocu REST-a?26.10.2011. u 13:14 - pre 151 meseci
Android nije baš nešto web service friendly, tako da taj koji radi klijentsku aplikaciju bi svakako morao da se maltretira sa xml-om i da radi HTTP request.

Najjednostavnije tebi iz serverskog ugla je da uradiš sledeće ima detaljnije upustvo na sajtu: http://www.w3schools.com/php/php_file_upload.asp
Code:

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?> 

Sa ovom formom možeš da istestiraš svoj program
Code:

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html> 



Onaj koji radi klijentski dio će svakako morati da odradi sličnu količinu posla bez obzira odlučio se ti za web service ili običan file upload putem forme.
Možete još radi sigurnosti da uradite hash na jednoj i na drugoj strani i da i to šaljete kao request parametar pa da budete sigurni da je file ispravno upload-owan.

A hint za onoga koji radi klijentsku aplikaciju je da koristi org.apache.http paket i klasu MultipartEntity ima mnogo primjetra na netu kako da uradi ovo što mu treba.

 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-7.sezampro.rs.



+33 Profil

icon Re: Upload fajla(slike) pomocu REST-a?26.10.2011. u 18:41 - pre 151 meseci
Citat:
kruksmail: lik koji pravi aplikaciju za android treba da posalje na server sliku.

Aha, a ne odgovara mu neka opcija AJAX upload-a te slike, pa da onda tako može da "gađa" tvoj server? Ako to nije opcija, ne znam, onda mogu samo da ti dam neku ideju kako bi to još moglo da se odradi, tako kako si i razmišljao da odradiš, preko servisa. Jednom prilikom sam pravio klijenta za onaj Gravatar-ov XML-RPC servis. I kao što vidiš na tom linku, on ima taj metod saveData, koji omogućava da se korisnikova slika upload-uje u binarnom formatu (u PHP-u se do toga dolazi tako što odradiš base64_encode() nad sadržajem fajla, verujem da i u Android SDK ima neka slična f-ja), tako da bi i ti onda mogao da napraviš neki servis čiji će API da nudi neki metod koji radi po tom principu. Kažem, to je XML-RPC servis, ali u ZF-u imaš i Zend_XmlRpc_Server, samo što ja nikad nisam koristio *_Server klase u te svrhe, tj. za tu mogućnost upload-a fajlova, pa ne mogu da ti dam neki primer.
 
Odgovor na temu

[es] :: PHP :: Upload fajla(slike) pomocu REST-a?

[ Pregleda: 1737 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.