2017-08-14 3 views
0

pdfやテキストのような剣道ファイルをアップロードしたい。ここに私のコントローラに剣道Azure Storageにアップロード

をファイル名またはパスを送ると、いくつかの問題IHAVE私の見解

<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

ありがとうございました! –

関連する問題