SORU
25 NİSAN 2012, ÇARŞAMBA


Nasıl bir Dosya SONRASI ASP.Net MVC 4 WebAPİ Kabul Etmek

Mvc 4 webapi asp.net beta bir rest hizmet oluşturmak için kullanıyorum. İstemci uygulamaya ait dosyaları/Yayınlanan görüntüleri kabul etmek mümkün olmak istiyorum. Bu webapi kullanarak mümkün mü? Şu anda kullanıyorum nasıl altındadır. Herkes bu işe nasıl bir örnek biliyor mu?

[HttpPost]
public string ProfileImagePost(HttpPostedFile profileImage)
{
    string[] extensions = { ".jpg", ".jpeg", ".gif", ".bmp", ".png" };
    if (!extensions.Any(x => x.Equals(Path.GetExtension(profileImage.FileName.ToLower()), StringComparison.OrdinalIgnoreCase)))
    {
        throw new HttpResponseException("Invalid file type.", HttpStatusCode.BadRequest);
    }

    // Other code goes here

    return "/path/to/image.png";
}

CEVAP
2 Kasım 2013, CUMARTESİ


Sana bir sürü sunucu üzerinde dosyaları kaydetmek istemesine şaşırdım. Bellek her şeyi tutmak için çözüm aşağıdaki gibidir:

[HttpPost, Route("api/upload")]
public async Task<IHttpActionResult> Upload()
{
    if (!Request.Content.IsMimeMultipartContent())
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); 

    var provider = new MultipartMemoryStreamProvider();
    await Request.Content.ReadAsMultipartAsync(provider);
    foreach (var file in provider.Contents)
    {
        var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
        var buffer = await file.ReadAsByteArrayAsync();
        //Do whatever you want with filename and its binaray data.
    }

    return Ok();
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011