SORU
15 EKİM 2010, Cuma


Nasıl meta veri hizmeti bir web GERİSİ kullanarak bir dosya yükleyebilirim?

Şu anda bu URL gösterir hizmet web DİNLENMEM lazım:

http://server/data/media

POST aşağıdaki JSON nerede kullanıcılar:

{
    "Name": "Test",
    "Latitude": 12.59817,
    "Longitude": 52.12873
}

yeni bir Medya meta verileri oluşturmak için.

Şimdi medya meta gibi aynı zamanda bir dosya yüklemek için yeteneği istiyorum. Bu konuda en iyi yolu nedir? Yeni bir özellik file adlı tanıştırabilirim ve dosya kodlama base64, ama eğer daha iyi bir yolu varsa merak ettim.

Ayrıca bir HTML Formu göndermek ne gibi multipart/form-data kullanarak var, ama servis bir web GERİSİ kullanıyorum ve JSON eğer mümkünse kullanarak sopa istiyorum.

CEVAP
15 EKİM 2010, Cuma


İki aşamalı bir yaklaşım makul bir çözüm olduğunu Greg katılıyorum, ancak bunu başka şekilde yapardım. Yapardım:

POST http://server/data/media
body:
{
    "Name": "Test",
    "Latitude": 12.59817,
    "Longitude": 52.12873
}

Meta giriş oluşturmak ve bir yanıt gibi geri dönmek için:

201 Created
Location: http://server/data/media/21323
{
    "Name": "Test",
    "Latitude": 12.59817,
    "Longitude": 52.12873,
    "ContentUrl": "http://server/data/media/21323/content"
}

İstemci daha sonra bu ContentUrl kullanımı ve dosya veri ile bir PUT olabilir.

Bu yaklaşım hakkında güzel bir şey sunucu başlar verilerin büyük hacimleri ile, geri başka bir sunucuya işaret edebilir url aşağı tartılır zaman kapasitesi daha fazla alan ile. Ya eğer bant genişliği bir sorun varsa hepsini yaklaşım bir çeşit uygulamak olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BenjiManTV

    BenjiManTV

    20 Mart 2011
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005
  • NightShader1

    NightShader1

    25 Temmuz 2006