Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> WebApi soapProblem z uploadem zdjęcia podczas dodawania aukcji
bolter94
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.08.2016

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z dodawaniem zdjecia do aukci w webapi allegro, aukcja bez zdjecia przechodzi be problemu jednak kiedy chce dodac zdjecie do fid=16 wystepuje "blad podczas konwersji zdjecia" probowalem roznych sposobow, file_get_contest(), kodowanie do base64 nic nie dziala (soap w wyzszych wersiaj podobno automatycznie koduje do base64) obrazek ma prawidlowa sciezke bo moge wyswietlic jego kod kodujac go.

Znalazlem rozwiazania ale z przed 2010r, a teraz jest nowy wsdl i nie moge znalezc rozwiazania. O ironio nawet w ubogiej dokumentacji metody I jej przykładzie pominięte zostalo dodawanie zdjęcia.

Prosiłbym o jakiś przykład, bo google już nie wystarcza :/
Go to the top of the page
+Quote Post
kapslokk
post
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Obrazek powinien być zakodowany w base64, nowy wsdl w stosunku do starego rozni sie tylko strukturą tablicy, którą się wysyła z tego co pamietam.
Pokaż swój kod.
Go to the top of the page
+Quote Post
bolter94
post
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.08.2016

Ostrzeżenie: (0%)
-----


Podobno soap koduje automatycznie do base64, czy tak nie jest? Kod podesle za +/- 50min.

w klasie:

  1. $empty = new stdClass();
  2. $empty->{'fvalueString'} = '';
  3. $empty->{'fvalueInt'} = 0;
  4. $empty->{'fvalueFloat'} = 0;
  5. $empty->{'fvalueImage'} = ' ';
  6. $empty->{'fvalueDatetime'} = 0;
  7. $empty->{'fvalueBoolean'} = false;
  8.  
  9. $form = array();
  10.  
  11. ...
  12.  
  13. $field = clone $empty;
  14. $field->{'fid'} = 16;
  15. $empty->{'fvalueImage'} = $image;
  16. $form[] = $field;
  17.  
  18. ...
  19.  
  20. $request = array(
  21. 'sessionHandle' => $this->session->sessionHandlePart,
  22. 'fields' => $form,
  23. 'localId' => $data['id']
  24. );
  25.  
  26.  
  27. try {
  28. $myWonItems = $this->soapClient->doNewAuctionExt($request);
  29. } catch (SoapFault $fault) {
  30. print($fault->faultstring);
  31. }
  32.  
  33.  
  34.  
  35.  


w kontrolerze:

  1. $image=file_get_contents("files/min/min1.jpg");


i image przekazuje jako parametr do klasy/metody /\

komunikat błędu: "Wyniknęły problemy podczas konwersji zdjęć."

Ten post edytował bolter94 22.08.2016, 21:01:18
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
Podobno soap koduje automatycznie do base64, czy tak nie jest?

Nigdy o tym nie słyszałem, ale nie wiem, może masz rację, tak czy inaczej spróbuj:
  1. $image='data:image/jpeg;base64,' . base64_encode(file_get_contents("files/min/min1.jpg"));

albo:
  1. $image=base64_encode(file_get_contents("files/min/min1.jpg"));


Go to the top of the page
+Quote Post
bolter94
post
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.08.2016

Ostrzeżenie: (0%)
-----


Niestety ani jedna ani druga opcja nie działa :/

W czym może być problem?

Ten post edytował bolter94 22.08.2016, 21:25:08
Go to the top of the page
+Quote Post
Pyton_000
post
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Wg. tego co piszą tu: http://wrzasq.pl/blog/allegro-webapi-tutorial-vol-2.html problem może być w wielkości obrazka.
Go to the top of the page
+Quote Post
bolter94
post
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.08.2016

Ostrzeżenie: (0%)
-----


Wziąłem to pod uwagę, przetestowalem nawet metod tam wykorzyatana. Niestety obrazek nie przechodzi.
Go to the top of the page
+Quote Post
kapslokk
post
Post #8





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jak możesz to wrzuć gdzieś obrazek, który chcesz wrzucić na aukcje i udostepnij link.

Ten post edytował kapslokk 23.08.2016, 11:26:22
Go to the top of the page
+Quote Post
bolter94
post
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.08.2016

Ostrzeżenie: (0%)
-----


Myślę, że to nie po stronie obrazka leży problem. Próbowałem wiele obrazków zarówno z dysku jak i bezpośrednie linki do obrazka z randomowej strony (oczywiście wybierałem te małe by nie przekroczyć max. rozmiaru) nic nie zadziałało.

Nie wiem co dalej internet na temat webapi zamiera po 2010r. Zero przykładów dla nowego wsdla. Może sposób przekazywania zdjęć się niie zmienił, ale niestety stare metody u mnie nic nie pomogły.

Go to the top of the page
+Quote Post
Pyton_000
post
Post #10





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Pokaż jeszcze tworzenie obiektu SoapClient
Go to the top of the page
+Quote Post
emstawicki
post
Post #11





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


Z innej beczki... czy pilnujesz aby kodowanie danych wejściowych i wyjściowych było zgodne z założeniami WebApi?
Przy base64Binary ma to ogromne znacznie.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
kapslokk
post
Post #12





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zrobiłem na szybko skrypt, który u mnie działa i wystawia aukcje - przynajmniej na sandboxie wink.gif Więcej tutaj:
https://github.com/kapslokk/allegro-webapi-example/
Go to the top of the page
+Quote Post
bolter94
post
Post #13





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 22.08.2016

Ostrzeżenie: (0%)
-----


10/10 działa wyśmienicie.. Wielkie dzięki!! muszę teraz znaleźć przyczynę niepowodzeń wink.gif

kluczem okazalo się to biggrin.gif :

  1. $array = array(
  2. 'fid' => $id,
  3. 'fvalueString' => "",
  4. 'fvalueInt' => 0,
  5. 'fvalueFloat' => 0,
  6. 'fvalueImage' => 0,
  7. 'fvalueDateTime' => 0,
  8. 'fvalueDate' => 0,
  9. 'fvalueRangeInt' => array(
  10. 'fvalueRangeIntMin' => 0,
  11. 'fvalueRangeIntMax' => 0,
  12. ),
  13. 'fvalueRangeFloat' => array(
  14. 'fvalueRangeFloatMin' => 0,
  15. 'fvalueRangeFloatMax' => 0,
  16. ),
  17. 'fvalueRangeDate' => array(
  18. 'fvalueRangeDateMin' => 0,
  19. 'fvalueRangeDateMax' => 0,
  20. ),
  21. );


Ten post edytował bolter94 24.08.2016, 22:50:18
Go to the top of the page
+Quote Post
Pyton_000
post
Post #14





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Czyli nie poprawna struktura pola?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 15:59