是否可以修改教程以支持多文件上传,例如用户可以使用shift-click选择多个文件.
或者,如果有人知道任何好的教程详细说明上述内容?
任何帮助表示赞赏,
谢谢
解决方法 我将从DotNetCurry看一下这个 tutorial,它展示了如何使用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/>"); } }
您可以将此代码放在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(); }}
同样,它只是伪代码,所以我假设它是如何工作的.我没有测试语法,但我认为它很接近.
我希望这有帮助.祝好运!
总结以上是内存溢出为你收集整理的c# – 将多个文件上载到Azure Blob存储全部内容,希望文章能够帮你解决c# – 将多个文件上载到Azure Blob存储所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)