2013-12-07 33 views
6

ASP.NET MVC uygulamasında görüntüleri yüklemek için dropzone.js dosyasını kullanmaya çalışıyorum. Dropzone'u programlı olarak kurabilir, üzerine tıklayabilir, görüntüyü seçebilir ve dosya iletişiminde "Aç" ı tıklattığımda, denetleyicide doğru Eylemi vuruyor. Ancak, HttpPostedFileBase her zaman null olarak geri döner, böylece görüntü ile ilgili hiçbir şey yapamam. Bununla birlikte, istemci tarafında, sunucu tarafında bulamadığım halde görüntü minik resmini doğru şekilde gösterir.dropzone.js ve ASP.NET MVC dosyası gönderiliyor mu?

var myDropzone = new Dropzone("div#mainImage", { url: "/Market/UploadImage" }); 

Ve bu kumandanın içindeki eylem çağrısıdır:

<div style="float:left;margin-right:2px;" id="mainImage"> 
    <img src="/images/AddImage_button.png" class="dz-message" /> 
</div> 

Bu doküman hazır sonra ararım js kodu:

Bu

HTML'dir
public ContentResult UploadImage(HttpPostedFileBase imageFile) 
{ 

    if (imageFile == null || imageFile.ContentLength == 0) 
    { 
    //..... 
    } 
} 

eylem isabet ancak imageFile boş. Herhangi bir fikri olan var mı? Bu arada, "dz mesajı" sınıfı, dropzone içindeki görüntü yer tutucusuna eklenmiştir, bundan önce tıklanabilir olmadığından. Bu konu için bir düzeltme olan bir yerde okudum ve işe yaradı.

Ben imagefile için boş alıyorum neden herhangi bir fikir?

+4

Standart parametre adıdır 'Dosya' ve sizindir 'imageFile'. ImageFile'ı 'file' olarak değiştirin ve – Catalin

+0

çalışacaktır. Teşekkür ederim! Beni – user2623997

+0

acemi için .... cevap olarak iyi bir yardım göndermeye @RaraituL –

cevap

3

Dropzone'un kullandığı varsayılan parametre adı file, sizinki ise imageFile. file için imageFile değiştirdiğinizde söz kaçırabilir küçük çimdik vardır

0

çalışacaktır.

böyle ayarlanmış enctype özellik var

kullandığınız form elemanı olması gerekir, zamanların bana sürü Oldu: dropzone kullanır

<form action="~/Home/SaveUploadedFile" method="post" enctype="multipart/form-data"/>