有没有多个上传图片,方便用户上传图片,如facebook上的activex文件上传器。
但免费:)
我更新了我的问题,我看到每个人都推荐关于flash上传器。 我有问题,我正在使用会话, 我正在传递用户相册ID以关联上传的图像 以及上传图片的用户ID
这是第一页中的代码
<div id="divUploadImage" style="display: none;">
<FlashUpload:FlashUpload ID="flashUpload" runat="server" UploadPage="Upload2.axd"
OnUploadComplete="UploadComplete()" FileTypeDescription="Images" FileTypes="*.gif; *.png; *.jpg; *.jpeg"
UploadFileSizeLimit="3000000" TotalUploadSizeLimit="40000000" />
<asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
</div>
以及第二页上传后的代码
public void ProcessRequest(HttpContext context)
{
for (int j = 0; j < context.Request.Files.Count; j++)
{
HttpPostedFile uploadFile = context.Request.Files[j];
SaveImages(uploadFile, "", albumid,out returnPhotoId); // my function to save ,albumId is the session
}
}
感谢
答案 0 :(得分:8)
尝试使用uplodify。它也使用闪光灯,我强烈推荐它。它是一种高度可定制的免费产品。
上传所有文件后发布到其他页面:
制作3个隐藏字段:
<asp:HiddenField runat="server" ID="hdf_UserID" name="hdf_UserID" />
<asp:HiddenField runat="server" ID="hdf_AlbumID" name="hdf_AlbumID" />
<asp:HiddenField runat="server" ID="hdf_ImageFiles" name="hdf_ImageFiles" />
以下是设置按钮以发布到第二页的方法:
<asp:Button runat="server" ID="btn_Submit" PostBackUrl="YourPage.aspx" />
在第二页上,您可以从请求中获取信息,如下所示:
Request["hdf_UserID"].ToString()
Request["hdf_AlbumID"].ToString()
Request["hdf_ImageFiles"].ToString()
您可以将所有文件存储在隐藏字段中,我建议|分隔 然后你可以在另一页上做一个.split
对于uploadify上传者的.ahx页面:
使用scriptData选项,您可以将信息传递到第二页。
var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"
var user = $('[id$=hdf_UserID]').val();
var album = $('[id$=hdf_AlbumID]').val();
$('[id$=fileInput]').uploadify({
'uploader': '../Uploadify/uploadify.swf',
'script': '../Uploadify/Upload2.ashx',
'scriptData': {'Token': auth, 'User': user, 'Album': album},
在uploadify的.ashx中,您可以通过以下方式获取scriptData:
string user = context.Request["User"];
string album = context.Request["Album"];
此代码是uploadify特定的,但希望它可以帮助您了解您的
答案 1 :(得分:1)
实际上,它是用Flash完成的。互联网上有很多解决方案。 here是codeproject中的一个。
答案 2 :(得分:1)
我使用位于 http://www.codeproject.com/KB/aspnet/FlashUpload.aspx的库作为我的项目。它非常轻巧,非常适合修改。
基本上,它是用Flex编写的多文件上传器。这很简单,如果需要,你也可以打开代码并进行更改。
答案 3 :(得分:1)
我已经成功地将Uploadify与ASP.NET MVC一起使用,创建了一个多文件上传脚本,其自动图像预览全部与AJAX内联。如果在上传操作中使用会话变量被SWFUpload / Uploadify命中,请记住一件事是Flash在Flash上传请求放入 Flash 会议。