如何解决进度将ASP.net MVC文件上传到Amazon S3
|| 美好的一天, 我有一个ASP.net MVC应用程序,需要将文件上传到进度良好的Amazon S3。我发现一个名为Flajaxian的简洁控件可以很好地完成这项工作。问题是,现在我想在数据库中插入一行数据来跟踪上传。如果您查看下面的代码,则控件具有FileUploader1_ConfirmUpload事件,该事件在上传完成后触发。 Url.Action(\“ Upload \”,\“ TracksController \”)并没有执行我想要的操作,这会触发TrackController控制器中的Upload Action。这是我第一次使用MVC,因此希望有一个简单的解决方案。 我最初有一个提交按钮,以使用类似“ 0”的代码执行上传。但是现在上传是异步的,所以我想做同样的回发 感谢所有花时间阅读此内容的人,甚至感谢所有尝试解决此问题的人。 <div class=\"contentsAcc\"><form id=\"form2\" runat=\"server\" style=\"width:400px\">
<script runat=\"server\">
private void FileUploader1_FileNameDetermining(object sender,FileNameDeterminingEventArgs e)
{
e.FileName = SessionWrapper.PersonId.ToString() + \"_\" + e.FileName;
}
</script>
<script runat=\"server\">
private void FileUploader1_ConfirmUpload(object sender,ConfirmUploadEventArgs e)
{
Url.Action(\"Upload\",\"TracksController\");
}
</script>
<fjx:FileUploader ID=\"FileUploader1\" runat=\"server\">
<Adapters>
<fjx:DirectAmazonUploader OnFileNameDetermining=\"FileUploader1_FileNameDetermining\" OnConfirmUpload=\"FileUploader1_ConfirmUpload\"
AccessKey=\"WebConfig:AmazonAccessKey\"
SecretKey=\"WebConfig:AmazonSecretKey\"
BucketName=\"tracksupload\" />
</Adapters>
</fjx:FileUploader>
</form></div>
好的,所以我昨天尝试着改变我的方法。我不想尝试触发TracksController的Action,而是希望将该Action代码移动到Confirm_Upload事件中。但是现在我仍然需要获取文本框的值。因为MVC不记得状态,所以事实证明这很困难。这是文本框。它们与上面的代码在同一页上。
<label for=\"BandName\">Artist</label>
<%=Html.TextBox(\"Artists\") %><%:Html.ValidationMessage(\"Artist\",\"*\")%>
<div class=\"clearfix\">
</div>
<label for=\"SongName\">Song Title
</label>
<%=Html.TextBox(\"SongName\") %><%:Html.ValidationMessage(\"SongName\",\"*\")%>
<div class=\"clearfix\">
</div>
是否可以提取文本框的值并将其发送到服务器端发生的Confirm_Upload事件?如果没有服务器代码,那么可能是JavaScript客户端?
我使用的上载控件是唯一可以完全满足我需要的控件,但是它是Web表单,站点是MVC。所以我在MVC页面上有一个Web窗体控件。我想使用MVC文本框值并将其传递给Web窗体控件进行处理。
解决方法
Url.Action只是返回一个URI。您要重定向吗?
有时WebForms事件可以在MVC中工作,所以我正在查看它是否像您需要重定向那样简单。
您的主要问题是您试图在看起来像MVC页面的地方使用WebForms代码。这通常是不兼容的,您需要自己连接JavaScript或直接在视图中使用许多javascript文件上传控件中的另一个。
我什么都不推荐,因为我不熟悉S3上传。也许另一个SO用户可以回答得更好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。