0

我在我的 POST 表单中添加了一个额外的“标题”字段,并在我的模型中创建了一个“标题”属性。视频上传后,服务器被定向到另一个控制器。这是通过在策略文件中设置重定向字段来完成的。现在如何访问重定向控制器中的标题字段?

POST 表格:

<form action="@Model.FileUploadModel.FormAction" method="@Model.FileUploadModel.FormMethod" enctype="@Model.FileUploadModel.FormEnclosureType" >

                     <input type="hidden" name="key" value="@Model.FileUploadModel.FileId" /> 
                     <input type="hidden" name="AWSAccessKeyId" value="@Model.FileUploadModel.AWSAccessKey" /> 
                     <input type="hidden" name="acl" value="@Model.FileUploadModel.Acl" /> 
                     <input type="hidden" name="policy" value="@Model.FileUploadModel.Base64EncodedPolicy" /> 
                     <input type="hidden" name="signature" value="@Model.FileUploadModel.Signature" /> 
                     <input type="hidden" name="redirect" value="@Model.FileUploadModel.RedirectUrl" /> 
                     <div class="row">  
                            **<label for="Title" style="padding-right: 5px;">Title (optional) </label>
                            <input type="text" name="Title"  style="width: 200px;" />**
                     </div>
                     <div class="row_clear"></div>
                     <div class="row">
                             <input type="file" name="file" size="100" id="file"/> 
                     </div>
               </form>

和我的 FileUploadModel

    public FileUploadModel(string publicKey, string privateKey, string bucketName, string redirectUrl)
    {
        myPrivateKey = privateKey;

        FormAction = string.Format("https://{0}.s3.amazonaws.com/", bucketName);
        FormMethod = "post";
        FormEnclosureType = "multipart/form-data";
        Bucket = bucketName;
        FileId = "u5/i/" + Guid.NewGuid().ToString(); 
        AWSAccessKey = publicKey;
        Acl = "private"; 

      RedirectUrl = redirectUrl;
    }
    public string FormAction { get; private set; }
    public string FormMethod { get; private set; }
    public string FormEnclosureType { get; private set; } 
    public string Bucket { get; private set; }
    public string Acl { get; private set; }
    public string Policy { get; private set; }
    public string FileId { get; private set; }
    public string AWSAccessKey { get; private set; }
    public string RedirectUrl { get; private set; }
    [Display(Name = "Title (optional)")]
    public string Title { get; set; }
    [Display(Name = "File")]
    public HttpPostedFileBase File { get; set; }
    public int? Page { get; set; }
    public string SearchString { get; set; }

}

}

这是我为创建策略表单而提到的链接。

关联

4

1 回答 1

0

我通过 URL 发送 title 属性解决了这个问题。

在我的 RouteConfig 文件中,我添加了一条新路线:

 routes.MapRoute(
                name: "Transcode",
                url: "{controller}/{action}/{title}/{id}",
                defaults: new
                {
                    controller = "Videos",
                    action = "Transcode",
                    id = UrlParameter.Optional
                }
            );

然后在转码操作中我添加了一个标题参数。最后我传递给重定向 URL 属性的值是:“ http://dev.area.local/Videos/Transcode/title

于 2013-07-12T20:36:48.340 回答