Znalazłem kilka bardzo szczegółowych samouczków na temat Usług 3. Doceniam je bardzo, oto mała lista.
http://drupal.org/node/1354202
Jak dodać wiele obrazów do węzła za pomocą usługi node.save?
http://drupal.org/node/1699354
Ale nie mogę znaleźć sposobu na przesłanie zdjęć z aplikacji mobilnej na serwer. Czy to jest możliwe ? Gdzie mogę znaleźć przykład?
Czy istnieje usługa rdzenia, aby to osiągnąć? Każde rozwiązanie wygląda na to, że potrzebuję kodu, żeby to zadziałało.
Odpowiedzi:
Miałem kiedyś taki wymóg, w którym za pomocą usługi sieciowej muszę utworzyć węzeł, który również zapisze obraz. Poniższy kod przesyła i zapisuje obraz za pomocą usługi internetowej.
UWAGA: Poniższy kod został przetestowany przy użyciu usług 3. Była to również aplikacja na system iOS, która korzystała z tej usługi internetowej i działała tam.
UWAGA: plik przesłany z żądaniem POST.
Testowałem powyższy kod przy użyciu wtyczki Google Chrome o nazwie REST Console . Aby zainstalować wtyczkę, wyszukaj „konsolę odpoczynku” w Chrome Web Store i zainstaluj pierwszą wtyczkę, którą otrzymasz (z zieloną i niebieską strzałką w górę)
Mam nadzieję że to pomoże!
źródło
Przede wszystkim upewnij się, że w punkcie końcowym jest włączony plik -> Utwórz zasób.
A po stronie klienta zrobiłem coś takiego:
Zrobiłem to z innego Drupala, i dla Drupala 6, przeniesienie kodu do D7 powinno być łatwe i myślę, że masz ogólne pojęcie o tym, jak to zrobić.
źródło
Usługi regularne 3 mają punkt końcowy „plikowy”. Możesz po prostu włączyć tworzenie plików i opublikować coś takiego; sam plik jest zakodowany w formacie base-64:
źródło
Do przesłania obrazu potrzebna byłaby tylko nazwa pliku i plik - który byłby zakodowany w standardzie base64.
Możesz sprawdzić moje repozytorium tutaj , w którym można znaleźć prostą klasę do pracy z Drupal 7 Rest Services i plik przyklad.php, w którym znajdują się przykłady użycia tej klasy. Tam też możesz znaleźć przykład, jak załadować obraz, który niedawno dodałem.
https://github.com/flesheater/drupal_rest_server_class
źródło