109*_*793 6 c# file-upload azure-storage azure-storage-blobs
对Windows Azure来说很新鲜.我已经按照本教程:教程.它完美地工作但是一个限制是对于我想到的应用程序,需要能够相对快速地上传多个文件.
是否可以修改教程以支持多文件上传,例如,用户可以使用shift-click选择多个文件.
或者,如果有人知道任何好的教程详细说明上述内容?
任何帮助表示赞赏,
谢谢
我将看看DotNetCurry的这个教程,该教程展示了如何使用jQuery创建多文件上传来处理多个文件上传到ASP.NET页面.它是使用ASP.NET 3.5构建的,但是如果你使用的是.NET 4并不重要 - 没有什么太疯狂了.
但关键是jQuery插件允许您将一组文件上传到服务器.后面的ASP.NET代码将通过循环遍历Request.Files集合来处理:
HttpFileCollection hfc = Request.Files;
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
if (hpf.ContentLength > 0)
{
hpf.SaveAs(Server.MapPath("MyFiles") + "\\" +
System.IO.Path.GetFileName(hpf.FileName));
Response.Write("<b>File: </b>" + hpf.FileName + " <b>Size:</b> " +
hpf.ContentLength + " <b>Type:</b> " + hpf.ContentType + " Uploaded Successfully <br/>");
}
}
Run Code Online (Sandbox Code Playgroud)
您可以将此代码放在insertButton_Click事件处理程序的教程中- 实质上是将blob创建并上传到上面代码if(hpf.ContentLength>0)块中的blob存储.
所以伪代码可能看起来像:
protected void insertButton_Click(object sender, EventArgs e)
{
HttpFileCollection hfc = Request.Files;
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
// Make a unique blob name
string extension = System.IO.Path.GetExtension(hpf.FileName);
// Create the Blob and upload the file
var blob = _BlobContainer.GetBlobReference(Guid.NewGuid().ToString() + extension);
blob.UploadFromStream(hpf.InputStream);
// Set the metadata into the blob
blob.Metadata["FileName"] = fileNameBox.Text;
blob.Metadata["Submitter"] = submitterBox.Text;
blob.SetMetadata();
// Set the properties
blob.Properties.ContentType = hpf.ContentType;
blob.SetProperties();
}
}
Run Code Online (Sandbox Code Playgroud)
同样,它只是伪代码,所以我假设它是如何工作的.我没有测试语法,但我认为它很接近.
我希望这有帮助.祝好运!
| 归档时间: |
|
| 查看次数: |
6015 次 |
| 最近记录: |