ASP.NET 5'te bir dosya yüklemeye çalışıyorum ama internette gördüğüm iki yol başarısız.Dosya Yükle ASP.NET 5
public async Task<ActionResult> UploadSWF()
{
StreamReader reader = new StreamReader(Request.Body);
var text = await reader.ReadToEndAsync();
return View();
}
[DÜZENLEME 1]: Burada XMLHttpRequest ile benim sunucu tarafı kodu Müvekkilim tarafı:
var client = new XMLHttpRequest();
function upload()
{
var file = document.getElementById("uploadfile");
var formData = new FormData();
formData.append("upload", file.files[0]);
client.open("post", "/Home/UploadSWF", true);
//client.setRequestHeader("Content-Type", "multipart/form-data");
client.setRequestHeader("Content-Type", "application/x-shockwave-flash");
client.send(formData);
}
Ama bu alabileceğiniz tek şey:
------ WebKitFormBoundaryX1h5stVbtaNe6nFw İçerik-Disposition: form-data; "Upload" = isim; filename = "data.swf" Content-Type: application/x-shockwave-flash CWS ;"
[DÜZ 2]:
public ActionResult UploadSWF()
{
Stream bodyStream = Context.Request.Body;
var sr = new StreamReader(bodyStream);
var test = sr.ReadToEnd();
return View();
}
: İşte bu olsun nasıl kodudur
yüzden dosya ve içerik türü değil içeriğinin adını almak.
https://stackoverflow.com/a/26445416/1203116 ancak dosya oluşturma kısmı bana çalışmayan bir dosya içine akışı kopyalıyor Bu cevap, I don' neler olduğunu biliyoruz ama hiçbir şey olmuyor. Ben de aynı şeyi MemoryStream ile yapmaya çalıştım ve boş bir dizim var. https://github.com/aspnet/Mvc/blob/437eb93bdec0d9238d672711ebd7bd3097b6537d/test/WebSites/ModelBindingWebSite/Controllers/FileUploadController.cs Bu arayüz Projemde eklediğiniz Microsoft.AspNet.Http olmalıdır ama yine de erişmek mümkün değilim:
Sonunda ben burada gösterildiği gibi IFormFile kullanarak, başka bir yol denedi. Bu ad alanında hiçbir IFormFile göremiyorum.
[DÜZENLEME 1]: denedim ilk yöntem ASP.NET MVC 5'de kullanılmıştır ama benim vNext projede çalışmıyor gibi HttpPostedFileBase kullanmaktır. Her zaman bir MissingMethodException var. istemci tarafında Kodum oldu:
<form action="/home/UploadSWF" method="POST" enctype="multipart/form-data">
<input type="file" name="file" accept=".swf, application/x-shockwave-flash/*">
<input type="submit" name="submit" />
</form>
Ve benim denetleyicisi:
public ActionResult UploadSWF(HttpPostedFileBase file)
{
return View();
}
Yardımcı olup olmadığından emin değilsiniz, ancak UploadSWF'nize bir HttpPostedFileBase yükleme bağımsız değişkeni eklemeyi deneyin ve boş değil mi bakın. –
Bunu denedim. Aslında uygulamak istediğim ilk yoldu ama her zaman bir MissingMethodException aldım. İstek, klasik
Belki de posta kodunuzu eklemelisiniz. –