1、关于图片上传控件,flash控件的显示效果要好一些,本人使用swfupload
2、swfupload上传控件使用方式详见文档 http://www.leeon.me/upload/other/swfupload.html
3、参照文档说明和官方demo,写一个小例子是没有任何问题的,在firefox或者chrome下如碰到302错误,错误堆栈如下
---SWFUpload Instance Info---
Version: 2.2.0 2009-03-25
Movie Name: SWFUpload_0
Settings:
upload_url: /iwebshop/index.php?controller=shop&action=goods_imgupload&photo_name=photo_name&showlist=show_list&single=false
flash_url: /iwebshopiews/default/javascript/swfupload.swf?preventswfcaching=1348582530733
use_query_string: false
requeue_on_error: false
http_success:
assume_success_timeout: 0
file_post_name: Filedata
post_params: [object Object]
file_types: *.jpg;*.jpge;*.png;*.gif
file_types_description: JPG Images
file_size_limit: 2 MB
file_upload_limit: 5
file_queue_limit: 0
debug: true
prevent_swf_caching: true
button_placeholder_id: upload
button_placeholder: Not Set
button_image_url: /iwebshop/
button_width: 50
button_height: 21
button_text: 浏览...
button_text_style: color: #000000; font-size: 16pt;
button_text_top_padding: 0
button_text_left_padding: 0
button_action: -110
button_disabled: false
custom_settings: [object Object]
Event Handlers:
swfupload_loaded_handler assigned: false
file_dialog_start_handler assigned: false
file_queued_handler assigned: false
file_queue_error_handler assigned: true
upload_start_handler assigned: false
upload_progress_handler assigned: true
upload_error_handler assigned: true
upload_success_handler assigned: true
upload_complete_handler assigned: true
debug_handler assigned: true
SWF DEBUG: SWFUpload Init Complete
SWF DEBUG:
SWF DEBUG: ----- SWF DEBUG OUTPUT ----
SWF DEBUG: Version: 2.5.0 2010-03-05 Beta 3.2
SWF DEBUG: movieName: SWFUpload_0
SWF DEBUG: Upload URL: /iwebshop/index.php?controller=shop&action=goods_imgupload&photo_name=photo_name&showlist=show_list&single=false
SWF DEBUG: File Types String: *.jpg;*.jpge;*.png;*.gif
SWF DEBUG: Parsed File Types: jpg,jpge,png,gif
SWF DEBUG: HTTP Success: 0
SWF DEBUG: File Types Description: JPG Images (*.jpg;*.jpge;*.png;*.gif)
SWF DEBUG: File Size Limit: 2097152 bytes
SWF DEBUG: File Upload Limit: 5
SWF DEBUG: File Queue Limit: 5
SWF DEBUG: Post Params:
SWF DEBUG: PHPSESSID=feec128121ce54aa04f6b4a249bd5bc9
SWF DEBUG: ----- END SWF DEBUG OUTPUT ----
SWF DEBUG:
SWF DEBUG: Stage Resize:50 by 21
SWF DEBUG: Event: fileDialogStart : Browsing files. Multi Select. Allowed file types: *.jpg;*.jpge;*.png;*.gif
SWF DEBUG: Select Handler: Received the files selected from the dialog. Processing the file list...
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_0
SWF DEBUG: Event: fileDialogComplete : Finished processing selected files. Files selected: 1. Files Queued: 1
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_0
SWF DEBUG: StartUpload(): Upload Type: Normal.
SWF DEBUG: Global Post Item: PHPSESSID=feec128121ce54aa04f6b4a249bd5bc9
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for standard upload. Starting upload to /iwebshop/index.php?controller=shop&action=goods_imgupload&photo_name=photo_name&showlist=show_list&single=false for File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_0 Bytes: 0. Total: 98168
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 65536. Total: 98168
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 98168. Total: 98168
SWF DEBUG: Event: uploadError: HTTP ERROR : File ID: SWFUpload_0_0. HTTP Status: 302.
EXCEPTION:
SWF DEBUG: Event: uploadComplete : Upload cycle complete.
看到红色文字302部分是不是很熟悉?我简单说明下为什么会出现这个问题
a 、flash上传图片时,会另起一个线程上传,这个线程中没有cookie,session等会话信息,包括自定义的全局变量,调用上传的url路径后台进行处理时,如果后台进行了权限或者登陆校验就会校验失败,后台校验失败就会重定向登录页面,flash这边就会报出302错误,但是上传界面不会发生跳转。
b、如果程序使用了系统框架,一般框架会有过滤器进行权限校验或者session校验,对于框架不熟悉的人可能不知道为什么发生302错误,也不知道在哪处理过滤,导致无法解决问题,这个需要仔细研究框架了。
c、对于swfupload的demo可以直接部署运行,而不报错,就是因为接收图片界面没有校验session或者权限
分享到:
相关推荐
SWFUpload 是一款开源的Flash上传控件,它在Web应用程序中被广泛使用,尤其适用于需要处理大量文件上传的场景。这款控件以其强大的功能、良好的用户体验和灵活的自定义选项而受到开发者们的青睐。本篇文章将深入探讨...
PHPCMS V9 修改flash上传为H5上传方案,PHPCMS系统swfupload上传控件更换为基于html5的webuploader组件,Phpcms的上传模块是使用swfupload上传插件,具体写法是在控制器phpcms/modoules/attachemet/attachemts.php...
**SWFUpload 上传控件 2.5 版本详解** SWFUpload 是一款流行的JavaScript与Flash结合的上传组件,它在Web应用中提供了一种高效、用户体验友好的文件上传解决方案。2.5版本是该控件的一个重要升级,不仅修复了多个...
ExtJs4.0整合Swfupload上传组件是一个常见的前端开发任务,主要涉及到两个技术:Ext Js和Swfupload。这两个工具结合使用,可以为Web应用提供功能强大的文件上传功能,尤其是对于大文件或者多文件上传场景,它们提供...
jquery+SWFUpload+COS上传组件的使用 jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件...
做项目往往都需要上传文件...但微软自带的上传控件 往往并不能满足我们的需求 以前一直使用 FileUpload ,客户逐渐提出新的需求,迫使不得不改用新的办法 SWFUpload谁然依赖于flash,但在我看来,还是一个不错的选择
SwfUpload是一款强大的JavaScript上传控件,它支持大文件上传并能实现无刷新(Ajax)效果,极大地提升了用户在网页上的文件上传体验。在Java环境中,我们可以利用SwfUpload与后端服务配合,处理文件上传请求,实现...
**SWFUpload 文件上传控件详解** 在网页开发中,文件上传功能是不可或缺的一部分,而SWFUpload就是一款优秀的文件上传控件。它利用Flash技术,提供了多文件上传和进度显示的功能,使得用户在上传大文件或多个文件时...
以前一直使用ASP.NET自带的FileUpload控件进行上传文件,发现经常出问题. 尽管在web.config文件中设置了maxRequestLength为很大,但还是不能上传大于2M的文件. 所有后来研究了下上传相关知识, 发现swfupload是一个不错...
标题和描述提到的"swfupload上传控件demo"是一个示例项目,展示了如何在实际应用中集成SwfUpload,实现图片的上传和删除功能,并且兼容IE7及以上版本,以及Firefox和Google Chrome等主流浏览器。 SwfUpload的核心...
在实际项目中,通过合理的配置和事件处理,可以轻松实现如"swfUpload上传文件图片(多图片)"这样的需求。在使用SwfUpload时,确保正确引入资源、配置参数并处理好上传过程中的各种事件,就能为用户提供一个高效、...
在C# ASP.NET环境中,确保正确处理Multipart/FormData请求是非常重要的,因为这是SwfUpload上传文件所采用的格式。后端代码需要解析这些数据,提取出文件内容并保存到合适的目录下。同时,考虑到安全性,需要对上传...
SWFUpload是一款经典的JavaScript与Flash结合的文件上传控件,尤其适用于需要批量上传功能的ASP.NET应用程序。在.NET环境中,SWFUpload控件提供了一种高效、用户友好的方式来处理大文件或多文件的上传任务,它允许...
SWFUpload上传组件的一个完整的例子,后台由Struts2完成,有上传进度显示,可以多文件上传,如果你想使用SWFUpload组件但还不知道怎样使用,可以下载下来运行一下试试,看一下源码就知道了。
SWFUpload是一款强大的上传组件,尤其适用于Web应用程序中实现大文件和批量文件的上传功能。它的v2.2.0版本已经进行了中文汉化,使得国内开发者在使用过程中能够更加方便地理解和操作。这个组件主要依赖Flash技术,...
这里我们讨论的是基于Ext3.3和swfupload技术实现的一个批量上传组件。这两个技术都是在Web开发中处理文件上传问题的重要工具。 首先,Ext3.3是一个基于JavaScript的富客户端框架,它提供了丰富的组件库,可以构建出...
**SWFUpload 多图片上传组件** SWFUpload 是一个流行的JavaScript和Flash相结合的文件上传组件,它允许用户实现多文件同时上传的功能。这个组件在Web开发中特别有用,因为它可以提供比传统HTML文件输入控件更丰富的...
SWFUpload是一款强大的JavaScript与Flash相结合的文件上传控件,它允许用户在浏览器中实现无刷新的多文件上传,提供丰富的上传进度显示和事件回调功能。这个控件最初由Vinterwebb.se开发,旨在超越传统...
SwfUpload上传组件 ,适用于ASP.NET 2.0以上。使用时直接引用DLL。在原版基础上做了改进,增加了设置尺寸、返回原文件文件名的功能.使用方法:1、以自定义控件导入工程;2、将空间拖入制定位置;3、设置尺寸:width...
总的来说,"swfupload上传demo示例"提供了一个完整的解决方案,展示了如何在ThinkPHP框架下使用SwfUpload实现多文件上传功能。通过理解SwfUpload的工作原理,结合ThinkPHP的控制器和视图机制,以及恰当的数据库设计...