IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
matesax
Tvůrce
Avatar
matesax:30.12.2012 18:20

Dobrý den,
ať dělám cokoliv, nedaří se mi to zprovoznit - tedy problém mi dělá zvolení typu přijímaných dat - zkusil jsem IEnumerable i obyčejné pole. (Jedná se o multiple upload.)

Aktuální podoba:

<% using (Html.BeginForm("Uploaded", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) { %>

        <input type="file" multiple="multiple" />

        <input type="submit" value="Submit" />

<% } %>
[HttpPost]
public ActionResult Uploaded(HttpPostedFileBase[] filesToUpload)
{
        files = "";

        foreach (HttpPostedFileBase fileToUpload in filesToUpload)
                files += fileToUpload.FileName + ", ";

        ViewData["files"] = files;

        return View();
}

Hodí to vždy:

System.NullReferenceException: Object reference not set to an instance of an object
at Controllers.HomeController.Uploaded (System.Web.HttpPostedFileBase[]) [0x00034] in /home/sam/Dokumenty/MonoProjects/Project-Host/Project-Host/Controllers/HomeController.cs:24
at (wrapper dynamic-method) object.lambda_method (System.Runtime.CompilerServices.Closure,System.Web.Mvc.ControllerBase,object[]) <IL 0x0000e, 0x0009b>
at System.Web.Mvc.ActionMethodDispatcher.Execute (System.Web.Mvc.ControllerBase,object[]) <IL 0x00008, 0x0002f>
at System.Web.Mvc.ReflectedActionDescriptor.Execute (System.Web.Mvc.ControllerContext,System.Collections.Generic.IDictionary`2<string, object>) <IL 0x0007d, 0x0027b>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (System.Web.Mvc.ControllerContext,System.Web.Mvc.ActionDescriptor,System.Collections.Generic.IDictionary`2<string, object>) <IL 0x00003, 0x00039>
at System.Web.Mvc.ControllerActionInvoker/<InvokeActionMethodWithFilters>c__AnonStorey36.<>m__45 () <IL 0x0002d, 0x000b5>
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter (System.Web.Mvc.IActionFilter,System.Web.Mvc.ActionExecutingContext,System.Func`1<System.Web.Mvc.ActionExecutedContext>) <IL 0x00034, 0x00172>

Velmi poděkuji za řešení... :)

Editováno 30.12.2012 18:22
 
Odpovědět
30.12.2012 18:20
Avatar
matesax
Tvůrce
Avatar
matesax:31.12.2012 7:37

Vyřešeno - vykašlal jsem se na multiple upload - mám jediný problém - nechci odradit lidi tím, že si více souborů mají komprimovat - JS umí vytvořit zip - jenže jak jej udělat z tagu input typu file - multiple file? Děkuji.

 
Nahoru Odpovědět
31.12.2012 7:37
Avatar
Kit
Tvůrce
Avatar
Odpovídá na matesax
Kit:31.12.2012 9:17

Budu hádat: Javascriptem? :)

Nahoru Odpovědět
31.12.2012 9:17
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Kit
matesax:31.12.2012 9:31

Jenže jak to udělat pro multiupload? Protože mě se cyklem na element.files nepodařilo získat užitečná data - navíc to není moc podporované - třeba získání cesty...

Každopádně ono mi to jelo jen chvíli - respektive jen jednou - pak jsem tam něco doupravil, a už mi to nejede ani když jsem se vrátil... Živá ukázka:

http://devor.asp2.cz/

Nebere mi to enctype - bez něj se to odešle v pohodě - jenže se nepostne soubor...

 
Nahoru Odpovědět
31.12.2012 9:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.