我对AJAX几乎没有(几乎没有)经验。
我想创建一个示例表单,我可以上传图像文件(想想eBay拍卖),但这些文件可以(并且应该)拖放到浏览器窗口,就像将APK上传到Google Play一样。< / p>
我从未做过这样的事情,我想学习。我目前没有真正的用例来实现,我要求学习。所以,让我们选择eBay的例子。
我的ViewModel可能如下所示:
public class AuctionViewModel {
public string Title, Description;
public double Price;
[...]
public IEnumerable<Picture> Images; //most important part!
}
public class Picture {
public string Url; //display URL, perhaps to be generated
public byte[] payload; //uploaded data
}
问题点:
答案 0 :(得分:0)
您可以使用HTML5 File API
。它允许您订阅DOM元素的drop
事件,并能够检索文件内容并使用XmlHTTPRequest对象将文件异步发送到服务器。我发布的Mozilla链接包含大量示例。
在服务器端,您可能会考虑将IEnumerable<HttpPostedFileBase>
用于上传的文件有效内容,而不是byte[]
。如果您使用带有AJAX请求的multipart/form-data
内容类型,如示例所示,默认模型绑定器将自动将上载的文件绑定到模型。