2017-08-14 118 views
0

我想通過kendo文件(如pdf或文本)上傳。 IHAVE與發送的文件名或路徑,以我的控制器Kendo上傳到Azure存儲

這裏有些問題是我的看法

<div class="editor-field" id="files"> 
     @(Html.Kendo().Upload() 
     .Name("Documents") 
     .Async(async => async 
      .Save("UploadDocument", "Controller")) 
     .Multiple(false) 
     .ToClientTemplate()) 

    </div> 

這裏是我的ActionController

public ActionResult UploadDocument() 
     { 

      var doc = Request.Files["document"]; 
      var inputstream = doc.InputStream; 
      var filename = doc.FileName; 
      var doctype=doc.ContentType; 
      var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["AzureStorageConnection"].ConnectionString); 
      CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 
      CloudBlobContainer container = blobClient.GetContainerReference("document"); 
      container.CreateIfNotExists(); 
      var permission = container.GetPermissions(); 
      string uniqueBlobName= string.Format("documents/{0}", filename); 
      CloudBlockBlob blob = container.GetBlockBlobReference(uniqueBlobName); 
      blob.Properties.ContentType = doctype; 
      blob.UploadFromStream(inputstream); 
      return Json(new { success = true }); 

     } 

我需要一個模型傳遞值或JS功能?

回答

0

@(Html.Kendo()。上傳()。名稱( 「文件」)

根據您的視圖的代碼,你上傳控件的名稱設置爲 '文檔'爲了得到上傳的文件的信息,你還需要使用這個名稱,而不是在你的控制器「文件」「文檔」,請改變你的代碼如下。

var doc = Request.Files["Documents"]; 
var filename = doc.FileName; 

我只是測試使用的劍道上載控制上面的代碼在我的身邊,我可以得到上傳文件的路徑

+0

非常感謝! –