我想使用AjaxFileUpload
将多个文件上传到SQL数据库。我有一个用于上传单个文件的方法;在aspx页面中:
<asp:FileUpload ID="file_Image" runat="server"/>
在aspx.cs页面中:
protected void UploadFile(object sender, EventArgs e)
{
FileUpload FileUpload1 = file_Image;
// Read the file and convert it to Byte Array
string filePath = file_Image.PostedFile.FileName;
string filename = Path.GetFileName(filePath);
if (FileUpload1.HasFile && FileUpload1.PostedFile != null)
{
Stream fs = file_Image.PostedFile.InputStream;
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);}}
但是,如何为AjaxFileUpload
使用类似的东西,或者甚至可以从Ajax控件流式传输这样的图像数据?万分感谢您分享您的知识!
答案 0 :(得分:1)
[请参阅AjaxFileUpload
]中的新AjaxToolKit
控件[1] http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AjaxFileUpload/AjaxFileUpload.aspx
这个新的AjaxFileUpload控件支持一次上传多个文件。但它有一些限制,IE10或Chrome最新版本支持此。
这是非常可靠的,我正在使用它。
将AjaxFileUpload文件内容转换为sql varbinary数组的简单方法:
protected void AjaxFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
byte[] image = e.GetContents();
}