剑道上传到 Azure 存储



我想通过 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 函数?

@(Html.Kendo((.上传((。姓名("文件"(

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

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

我刚刚使用上面的代码测试了剑道上传控件,我可以获取上传文件的路径。

相关内容

  • 没有找到相关文章

最新更新