Jquery 从ASP.NET MVC将Ajax文件上载到Amazon s3

Jquery 从ASP.NET MVC将Ajax文件上载到Amazon s3,jquery,ajax,asp.net-mvc,amazon-s3,Jquery,Ajax,Asp.net Mvc,Amazon S3,我能够使用以下代码使用策略和签名将文件直接从客户端浏览器上传到AmazonS3 <form method="post" enctype="multipart/form-data" id="fileupload"> <input type="hidden" name="key" value="@Model.FileID" /> <input type="hidden" name="AWSAccessKeyId" value="@Model.AWSAccessKe

我能够使用以下代码使用策略和签名将文件直接从客户端浏览器上传到AmazonS3

<form method="post" enctype="multipart/form-data" id="fileupload">
<input type="hidden" name="key" value="@Model.FileID" />
   <input type="hidden" name="AWSAccessKeyId" value="@Model.AWSAccessKey" />
    <input type="hidden" name="acl" value="@Model.Acl" />
    <input type="hidden" name="policy" value="@Model.Base64EncodedPolicy" />
    <input type="hidden" name="signature" value="@Model.Signature" />
    <input type="hidden" name="success_action_status" value="201" />
<table>
    <tr>
        <td>
            <b> Upload new video : </b>
        </td>
        <td>
            <input type="file" name="file" />
        </td>
    </tr>
</table>
<br />
<input type="button" value="Upload Video" onclick="uploadFile()" />
<div id="progressNumber"></div>
</form>

上传新视频:

我需要为文件上传到AmazonS3实现ajax调用。我已经在AmazonS3 bucket的配置中配置了CORS。但是我不能使用Jquery文件上传插件上传。我收到的错误消息是找不到密钥

 $(function () {
    $('#fileupload').each(function () {

        var form = $(this)

        $(this).fileupload({
            url: '@Model.FormAction',
            type: 'POST',
            autoUpload: true,
            dataType: 'xml',
            formData: 
                {

                    AWSAccessKeyId: "@Model.AWSAccessKey",                   
                    acl: "@Model.Acl",                                        
                    policy: "@Model.Base64EncodedPolicy",                                  
                    signature: '@Model.Signature',                            
                    success_action_status: "201",
                    key: '@Model.FileID'
                },
            done: function (event, data) {
                var url = $(data).find('Location').text()

                $('#Feedback').val(url)
            }
        });
    });
});
</script>
$(函数(){
$('#fileupload')。每个(函数(){
变量形式=$(此)
$(此).fileupload({
url:“@Model.FormAction”,
键入:“POST”,
自动上传:对,
数据类型:“xml”,
表格数据:
{
AWSAccessKeyId:“@Model.AWSAccessKey”,
acl:“@Model.acl”,
策略:“@Model.Base64EncodedPolicy”,
签名:“@Model.signature”,
成功行动状态:“201”,
键:'@Model.FileID'
},
完成:功能(事件、数据){
var url=$(数据).find('Location').text()
$(“#反馈”).val(url)
}
});
});
});

是否有其他插件可用于文件上载和示例代码

看看我最近发布的答案:

您是否必须使用javascript将其发布到amazon?使用服务器端代码可能更容易,amazon提供了一个相当不错的Api