提供商托管了asp.net mvc app上传文件

时间:2017-01-10 04:58:09

标签: asp.net-mvc image-uploading sharepoint-online sharepoint-apps provider-hosted

我正在尝试创建一个简单的帖子,其中我也在线上使用Sharepoint上的提供商托管应用程序附加图像,我无法在HttpContext.Request中获取SPHostUrl,我的意思是HttpContext中缺少SPHostUrl。请求。

 [HttpPost]
    public ActionResult Contact(SimplePostModel model,HttpPostedFileBase file)
    {}

查看

@using (Html.BeginForm("Contact","Home",null,FormMethod.Post,new { enctype= "multipart/form-data"}))

问题是如果我在上面提到的View语句中发送此部分new { enctype= "multipart/form-data"},我无法在HttpContext.Request中获取SPHostUrl参数。

如果我没有发送html属性,那么我可以在HttpContext.Request中获取SPHostUrl参数。如果没有html属性,我也无法上传文件。

先谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我已经通过在Razor View中更改了一些代码解决了这个问题。

@using (Html.BeginForm("Contact","Home",null,FormMethod.Post,new { enctype= "multipart/form-data"}))

而不是对象路由值的null我发送spHosturl,如下所示。

@using (Html.BeginForm("Contact","Home",new { SPHostUrl = spUrl },FormMethod.Post,new {  enctype = "multipart/form-data" }))

spUrl值如下所示

@{
var spUrl = Request.QueryString["SPHostUrl"];

}

我希望这对新的sharepoint在线开发者有所帮助