我想为我的一个项目添加类似 gmail 的文件上传功能。有人可以帮我吗?
我的应用程序是在 vb.net 中构建的。
我将不胜感激任何帮助或指导。
谢谢
我想为我的一个项目添加类似 gmail 的文件上传功能。有人可以帮我吗?
我的应用程序是在 vb.net 中构建的。
我将不胜感激任何帮助或指导。
谢谢
查看SWFUpload,它本质上是一个 javascript api,用于 flash 绝对优越的文件上传处理能力。在浏览器最终赶上之前最好的事情。
从链接:
- 在对话框中通过 ctrl/shift-selecting 一次上传多个文件
- 所有事件的 Javascript 回调
- 在上传开始前获取文件信息
- 使用 XHTML 和 css 样式上传元素
- 使用 HTML 上传文件时显示信息
- 无需重新加载页面
- 适用于所有支持 Flash 的平台/浏览器。
- 如果 Flash 或 javascript 不可用,则优雅地降级为正常的 HTML 上传表单
- 在上传开始之前控制文件大小
- 仅在对话框中显示选择的文件类型
- 排队上传,在开始上传之前删除/添加文件
----- iframe 上传 -----
首先,您希望在您的页面上有一个 iframe。这用于服务器通信。您稍后会隐藏它,但现在,让它保持可见。给那个 iframe 一个 name 属性,比如“uploader”之类的。
现在,在您的表单中,将目标设置为 iframe 的名称,并将操作设置为您在服务器上将接受文件上传的脚本(如带有文件上传的普通表单)。在该表单内添加一个带有文本“添加文件”的链接。设置该链接以运行 javascript 函数,该函数将向表单添加新输入。这可以通过 DOM 完成,但我会推荐一个像jquery这样的 javascript 库。
将新文件输入添加到表单后,将该输入的模糊事件设置为将提交表单的 javascript 函数,然后定期检查它的输出。读取 iframe 可能会很棘手,但这是可能的。
让您的文件上传脚本输出“完成”。或上传完成时的文件名或其他内容。
每隔一秒左右检查一次,直到有内容为止。获得内容后,终止计时器并将文件输入替换为文件名(或“文件上传”)或其他名称。
用 css 隐藏你的 iframe。
来自小唯!(雅虎用户界面),https://yuilibrary.com/yui/docs/uploader/
- 在单个“打开文件”对话框中选择多个文件。
- 文件扩展名过滤器,方便用户选择。
- 文件上传的进度跟踪。
- 一系列文件元数据:文件名、大小、创建日期、修改日期和作者。
- 在文件上传过程的各个方面调度的一组事件:文件选择、上传进度、上传完成等。
- 在文件上传 POST 请求中包含附加数据。
- 由于修改了 SEND 缓冲区大小,宽带连接上的文件上传速度更快。
- 文件上传完成后的同页服务器响应。
完全免费
这是gmail 上传器克隆。这是带有一些额外功能的 gmail 上传器的精确克隆。上传后可以看到图片的缩略图,拖动缩略图可以改变顺序并替换任何缩略图。它是使用jQuery完成的。你可以在这里看到演示。源代码可在单个 zip 文件中免费下载。
我希望您可以轻松删除一些代码并获得所需的东西。如果您需要进一步的帮助,可以在 ABCoder 博客上发表评论。
Now it has been 2 years, I used the uploadify in my legacy system and it works good. but you need to write some hack code (such like hold the session).
I recommend you use jquery upload, which is pure HTML, no swf, no session problems and really great!
== on 2013, what I wrote:
I am considering which to choose, SWFupload or uploadify .
but on SWFupload's official website , it says that it has not been under active development and the author is hoping someday the SWFupload could revive...
so ... I decided to try "uploadify", which seems supports many options, callbacks with lots of demos. (after checking its source code, I guess the author wraps the "SWFupload v1" and "SWFupload v2" in his "uploadify v3"...)
and there's a full list of this kind of uploaders.
对于非闪存解决方案,您可以使用NeatUpload。去年我在一个没有闪存要求的大型项目中使用了它。很容易集成到现有的解决方案中。我认为这是一件轻而易举的事。以我有限的经验,比在 ASP.NET 中使用 SWFUpload 更容易。可能是因为 NeatUpload 是专为 ASP.NET 构建的。
您是在谈论没有整页回发的上传吗?看一下http://www.phpletter.com/Demo/AjaxFileUpload-Demo/,它创建了一个隐藏的 iframe,复制输入控件,并使用 iframe 执行 post 以获取服务器上的文件。
如果您正在寻找当用户单击“附加文件”并自动弹出文件浏览对话框时的行为,可以通过 Javascript 完成,但在 FireFox 中不起作用,它具有要求用户的安全预防措施直接调用“浏览”按钮(而不是通过脚本以编程方式)。
对于“自动”上传,使用 Javascript 附加到“输入”控件的“值”属性的“更改”事件,以便在选择文件时执行。
您可以改用Flickr Uploader克隆。
您可以为此使用 iFrame
我想对“类似 Gmail 的”文件上传做更多的说明。
你的意思是如果它坐了一点,它会自动将它附加到草稿上吗?
Gmail 的代码很难找到,但如果我不得不猜测的话,它是这样工作的: