[英]Ajax file upload to Amazon s3 from ASP.NET MVC
我可以使用以下代碼使用策略和簽名將文件直接從客戶端瀏覽器直接上傳到Amazon s3。
<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>
我需要為將文件上傳到Amazon S3實施ajax調用。 我已在Amazon s3存儲桶的配置中配置了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>
是否有其他可用示例代碼上傳文件的插件?
看看我最近發布的這個答案: https : //stackoverflow.com/a/22085396/148998
您必須使用JavaScript將其發布到亞馬遜嗎? 使用服務器端代碼可能會更容易,亞馬遜提供了相當不錯的Api, 可通過Nuget獲得
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.