【问题标题】:Kendo Upload to Azure Storage剑道上传到 Azure 存储
【发布时间】:2017-08-14 12:21:22
【问题描述】:

我想通过 pdf 或文本等剑道文件上传。我在将文件名或路径发送到我的控制器时遇到了一些问题

这是我的看法

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

    </div>

这是我的动作控制器

  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 函数吗?

【问题讨论】:

    标签: c# asp.net-mvc azure kendo-upload


    【解决方案1】:

    @(Html.Kendo().Upload().Name("文档")

    根据您的视图代码,您将上传控件的名称设置为“文档”。要获取上传文件的信息,您还需要在控制器中使用此名称“文档”而不是“文档”。请按以下方式更改您的代码。

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

    我这边刚刚用上面的代码测试了剑道上传控件,可以得到上传文件的路径。

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 2014-08-23
    • 2019-04-13
    • 2013-11-07
    • 2012-08-11
    • 2023-03-28
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多