Eylem yöntemi oluşturma İstemci tarafından POST isteği olarak gönderilen multipart/form-data
kabul etmesi gereken bir Denetleyici yöntem var. Form verisinin 2 bölümü vardır. Biri, application/json
için serileştirilmiş bir nesnedir ve diğer kısım ise application/octet-stream
olarak gönderilen bir fotoğraf dosyasıdır.ASP.NET MVC. Nasıl kabul edilir ve çok parçalı/form veri
[AcceptVerbs(HttpVerbs.Post)]
void ActionResult Photos(PostItem post)
{
}
Ben PostItem null here.However sorunsuz Request.File
aracılığıyla dosyayı alabilirsiniz: Bu gibi benim denetleyicisinde bir yöntem var. Neden olmadığından emin değil misiniz? Herhangi bir fikir
Kontrolör Kodu:
/// <summary>
/// FeedsController
/// </summary>
public class FeedsController : FeedsBaseController
{
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Photos(FeedItem feedItem)
{
//Here the feedItem is always null. However Request.Files[0] gives me the file I need
var processor = new ActivityFeedsProcessor();
processor.ProcessFeed(feedItem, Request.Files[0]);
SetResponseCode(System.Net.HttpStatusCode.OK);
return new EmptyResult();
}
}
telin üzerinde istemci isteği şuna benzer:
{User Agent stuff}
Content-Type: multipart/form-data; boundary=8cdb3c15d07d36a
--8cdb3c15d07d36a
Content-Disposition: form-data; name="feedItem"
Content-Type: text/xml
{"UserId":1234567,"GroupId":123456,"PostType":"photos",
"PublishTo":"store","CreatedTime":"2011-03-19 03:22:39Z"}
--8cdb3c15d07d36a
Content-Disposition: file; filename="testFile.txt"
ContentType: application/octet-stream
{bytes here. Removed for brevity}
--8cdb3c15d07d36a--
Görünümünüze kod gönderebilir misiniz? ASP.NET MVC 1 kullanıyor musunuz? –
Yukarıdaki kodu gözden geçirin. MVC3 kullanıyorum – openbytes