Forum

asp.net mvc fileupl...
 
Bildirimler
Hepsini Temizle

asp.net mvc fileupload da sorun?

30 Yazılar
3 Üyeler
0 Likes
3,407 Görüntüleme
(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

içinden çıkamadığım bir durum olduğu için size danışmak istedim. video yüklemek için file upload olayı mvc de nasıl oluyor diye araştırdım. ancak bahsedilen örneği elli defa uyguladım hata alıyorum şu şekilde. 

Server Error in '/' Application.


Object reference not set to an instance of an object.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error: 

Line 21:         public ActionResult FileUpload(HttpPostedFileBase uploadFile)Line 22:         {Line 23:             if (uploadFile.ContentLength > 0)Line 24:             {Line 25:                 string filePath = Path.Combine(HttpContext.Server.MapPath("../../Tarifler/Videolar/"),

Source File: D:\yemekizle\yemekizle\Controllers\FileUploadController.cs    Line: 23 



Uyguladığım kodlarda aşağıda.


Here is my view that renders a form for uploading files:

 Collapse
<%@ Page Title="" Language="C#"   MasterPageFile="~/Views/Shared/Site.Master"   Inherits="System.Web.Mvc.ViewPage" %> <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">            FileUpload</asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">    <h2>FileUpload</h2>         <% using (Html.BeginForm("FileUpload", "FileUpload",                     FormMethod.Post, new { enctype = "multipart/form-data" }))        {%>        <input name="uploadFile" type="file" />        <input type="submit" value="Upload File" /><%} %> </asp:Content>

Now, I will write a controller for file upload, and here is my FileUploadController.cs:

 Collapse
[HandleError]public class FileUploadController : Controller{    public ActionResult FileUpload()    {        return View();    }    [AcceptVerbs(HttpVerbs.Post)]    public ActionResult FileUpload(HttpPostedFileBase uploadFile)    {        if (uploadFile.ContentLength > 0)        {            string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"),                                            Path.GetFileName(uploadFile.FileName));            uploadFile.SaveAs(filePath);        }        return View();    }}

Bu olayda takıldım kaldım aldığım hatanın sebebi nedir acaba?

 
Gönderildi : 18/05/2011 23:10

(@selahattinsadoglu)
Gönderiler: 826
Prominent Member
 

Merhaba,

Şöyle yapabilirsiniz.

 

[HttpPost]   
public ActionResult FileUpload(HttpPostedFileBase uploadFile)   

    if (uploadFile != null && uploadFile.ContentLength > 0)     
    {
        string filePath = Path.Combine(
            Server.MapPath("~/Uploads"),
            Path.GetFileName(uploadFile.FileName)
        );         
        uploadFile.SaveAs(filePath);   
    }    
    return View();  
}
 

 

Saygılar,

 
Gönderildi : 19/05/2011 03:17

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

bu sefer hata vermedi ancak yüklemede yapmadı. yani etkisiz gibi oldu sanki?

 
Gönderildi : 19/05/2011 04:31

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

Hala çıkamadım işin içinden?

 
Gönderildi : 19/05/2011 17:55

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

biraz oynama yaparak resimleri yükleyebildim. yani sanırım ufak boyutluları yüklüyor ama büyük boyutluları yüklemiyor gibi anlayamadım nedir sıkıntısı...

 
Gönderildi : 19/05/2011 19:05

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

arkadaşlar son geldiğim noktada boyutla ilgili ibr sıkıntı olmadığını uzantısı flv olan bir dosyayı yüklemiyor. ancak aynı dosyanın uzantısını jpg yapınca yüklüyor. bu konuda yardımcı olur musunuz?

 
Gönderildi : 19/05/2011 19:50

(@selahattinsadoglu)
Gönderiler: 826
Prominent Member
 

Merhaba Abdullah,

Yükleyemiyorum derken ne demek istedin ? Yani bir hata mesajı mı bu ? yoksa başka bir şey  mi?

 
Gönderildi : 20/05/2011 01:20

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

Dostum öncelikle çok teşekkür ederim ilgilendiğin için. Geldiğim son noktada durum şu. yeni oluşturduğum ve bu olayı denediğimde çalıştı. ancak benim geliştirmekte olduğum uygulama içinde yeni controller ve view oluşturup aynı şekilde denememe rağmen hata verdi yine. bu sefer acayip bir hata veriyor. yükleme sayfası açılıyor. ancak yükle dediğinde olmayan sayfa gibi birşey diyor. ben bu konu üzerinde birazdaha uğraşayım durumun içinden çıkamazsam detaylıca anlatırım yine buradan. sağolasın.

 
Gönderildi : 20/05/2011 01:29

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

 

 

hata resimleri buadalar. yardımcı olabilecek olan arkadaşımız varmı?  

 
Gönderildi : 20/05/2011 15:56

(@kadiravci)
Gönderiler: 202
Üye
 

Girilen resmi göremiyor. Sayfayı tekrar post ediyor olabilir. Normalde mvc'de olmaması gereken bir durum.

Birde web.config üzerinden resim yükleme süresini uzatın. Bu nedenle boşa çıkıyor olabilir. Büyük boyutlu resimleri upload ederken belli bir süre sonra session düşer çünkü. 

 
Gönderildi : 21/05/2011 04:34

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

yok boyut ile alakalı olan bir sorun değil ondan eminim zira ufacık boyutta da yüklüyorum aynı durum var. aynı kodları yeni uygulamada deniyorum sorunsuz 15 mb bile yüklüyor. ancak post olayı dediniz.evet sayfayı post ediyor. bunada eminim acaba etmemesi mi gerekir? ajax olmadan direk bu hali ile kullanınca post etmemelimi. yada çözüm konusunda ne yapabilrim?

 
Gönderildi : 21/05/2011 17:37

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

he tekrar post ediyor olabilir dediğini yeni farkettim. evet boş çalışan uygulamada resim seçmeden yükl deyince aynı hatayı veriyor. sanki resim seçtiğim halde resimsiz gibi işlem oluyor. çift post mu oluyor ki anlamadım durumu bu konuda yardımcı olabilecek arkadaşımız yokmu?

 
Gönderildi : 21/05/2011 19:24

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

http://www.youtube.com/watch?v=wOGr7N3itE8&feature=related

 

arkadaşlar yukarıdaki linkte upload olayını farklı bir şekilde adam yapmış. ben yapınca yine olmadı ancak dikkatimi şu çekti videonun 4. dakikasının 58. saniyesinde benim aldığım hatanın aynısını aldı. ve bu hata üzerine birşeyler söylüyor. anlayamadım ben. bari bu konuda yardımcı olabilecek biri olsun hata ile ilgili dedikleri neler? 

 
Gönderildi : 22/05/2011 02:13

(@kadiravci)
Gönderiler: 202
Üye
 

Hmm, anladım olayı. Sendekide eğer böyle ise var file dedikten sonra çeviri yapamıyor. Bu nedenle hata veriyor. Adamın yaptığı gibi stringe çevirerek yapabilirsin.

Birde ajax kaynaklı olabilir. Sonuçta ajax varsa orda o kısım hep boş olarak görünüyor olabilir.

Denedikten sonra sonucu tekrar yazarsan sevinirim.  

 
Gönderildi : 22/05/2011 05:14

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

bu adamın yaptığı gibi de olmuyor. ya nedendir bilmiyorum ama boş geliyor resim adı gelmiyor upload sayfasından controllere. yeni uygulamada deniyorum sorunsuz geliyor çalışıyor. ama benim uygulamamda gelmiyor. bu konuda yardımcı olabilecek kimse yokmu bir haftadır çıkamadım işin içinden.

 
Gönderildi : 22/05/2011 15:40

(@selahattinsadoglu)
Gönderiler: 826
Prominent Member
 

Merhaba,

Controller aksiyonu içinde uploadfile değişkeni atanmış durumda mı?

 
Gönderildi : 23/05/2011 00:11

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 
[AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Upload(HttpPostedFileBase uploadFile)
        {
            if (uploadFile.ContentLength > 0)
            {
                
                string filePath = Path.Combine(HttpContext.Server.MapPath("~/resim"), Path.GetFileName(uploadFile.FileName));
                uploadFile.SaveAs(filePath);
                
            }
 
action result upload kısmında parantezin içindeki yerin sağından mı bahsediyorsunuz? 
 
Gönderildi : 23/05/2011 04:25

(@selahattinsadoglu)
Gönderiler: 826
Prominent Member
 

Merhaba,

   1. string filePath = Path.Combine(
   2.                 HttpContext.Server.MapPath("../Uploads"),
   3.                 Path.GetFileName(uploadFile.FileName));

 

bu satırı aşağıdaki değiştirirmisin.

   1. string serverpath = HttpContext.Server.MapPath("../Uploads");
   2. string filename = Path.GetFileName(uploadFile.FileName)
   3. string filePath = Path.Combine(serverpath, filename);

 

değiştirdikten sonra hangi satırında çökme yaşıyorsun?

 
Gönderildi : 23/05/2011 15:11

(@abdullahkac)
Gönderiler: 80
Estimable Member
Konu başlatıcı
 

string filename = Path.GetFileName(uploadFile.FileName); bu satırda yani ikinci satırda. tabi ikinci satırın sonuna noktalı virgül konmamış onu koydum. yani kod normal ancak hata orada.

 
Gönderildi : 23/05/2011 15:41

Sayfa 1 / 2
Paylaş: