- 浏览: 732678 次
- 性别:
- 来自: 宁波
文章分类
- 全部博客 (125)
- 软件开发 (17)
- java (32)
- js (2)
- jsp (1)
- struts2 (1)
- jquery (4)
- oracle (12)
- 程序员 (2)
- 三星i9300 联通版 root (1)
- easyui (2)
- DOM4J (2)
- 哲学 (1)
- ftp (1)
- oracle每日一学 (2)
- spring (4)
- jquery每日一学 (5)
- shiro (4)
- ITextRenderer (1)
- shiro标签 (1)
- mysql (1)
- mysql每日一学 (4)
- 分词 (1)
- vtiger crm (1)
- IkAnalyzer (1)
- jsoup (1)
- 多线程 (1)
- quartz (1)
- ubuntu (2)
- gradle学习笔记 (1)
- node.js (1)
- ajax (1)
- mybatis (1)
- cas (2)
- cxf (1)
- jqgrid (1)
- 开发工具破解 (1)
最新评论
-
氵每市蜃木娄:
使用过后,移动滚动条,非冻结的列,表头不见了。
easyui datagrid 右冻结 -
18335864773:
推荐用pageoffice组件打开文档,pageoffice ...
java word导出 -
xiaoliuf4565:
用过之后中文可以换行,但是现在编程了英文和数字不换行了脑壳痛
freemarker+ITextRenderer 生成html转pdf -
A741841403:
Error:(275, 29) java: 无法访问com.l ...
freemarker+ITextRenderer 生成html转pdf -
A741841403:
楼主你好,我想问下,如何在maven中使用你的jar包呢
freemarker+ITextRenderer 生成html转pdf
swfupload v2.2 或者2.5在struts1+spring+hibernate项目中 一开始的时候能上传文件,后来就不行了,让我很纳闷,网上也找了很多资料 ,但是没有提到我遇到的这个问题,
jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%
String path = request.getContextPath();
String jsessionid=request.getSession().getId();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>文件管理</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link href="<%=path %>/swfupload/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=path %>/swfupload/swfupload.js"></script>
<script type="text/javascript" src="<%=path %>/swfupload/swfupload.queue.js"></script>
<script type="text/javascript" src="<%=path %>/swfupload/fileprogress.js"></script>
<script type="text/javascript" src="<%=path %>/swfupload/handlers.js"></script>
<!-- <link rel="stylesheet" type="text/css" href="<%=path %>/fileui/easyui.css">
--><link rel="stylesheet" type="text/css" href="<%=path %>/fileui/icon.css">
<link rel="stylesheet" type="text/css" href="<%=path %>/fileui/demo.css">
<script type="text/javascript" src="<%=path %>/fileui/jquery-1.8.0.min.js"></script>
<!-- 用于文件列表数据展示 -->
<script type="text/javascript" src="<%=path %>/fileui/js/jquery.pagination.js"></script>
<link type="text/css" href="<%=path %>/fileui/css/default.css" rel="stylesheet" />
<link type="text/css" href="<%=path %>/fileui/css/flexslider.min.css?v=3" rel="stylesheet" />
<link rel="stylesheet" href="<%=path %>/fileui/css/pagination.css" />
<script type="text/javascript">
var swfu;
SWFUpload.onload = function () {
var settings = {
flash_url : "<%=path %>/swfupload/swfupload.swf",
flash9_url : "<%=path%>/swfupload/swfupload_fp9.swf",
//upload_url: "<%=path%>/acl/FileManagerAction.do;jsessionid=<%=jsessionid%>?method=uploadAction",
upload_url: "<%=path%>/servlet/UploadServlet",
post_params: {
"PHPSESSID" : "NONEgfggggg",
"HELLO-WORLD" : "Here I Am",
".what" : "OKAY"
},
file_size_limit : "100 MB",
file_types : "*.*",
file_types_description : "All Files",
file_upload_limit : 100,
file_queue_limit : 0,
custom_settings : {
progressTarget : "fsUploadProgress",
cancelButtonId : "btnCancel"
},
debug: false,
// Button Settings
button_image_url : "<%=path %>/swfupload/XPButtonUploadText_61x22.png",
button_placeholder_id : "spanButtonPlaceholder",
button_width: 61,
button_height: 22,
// The event handler functions are defined in handlers.js
swfupload_preload_handler : swfUploadPreLoad,
swfupload_load_failed_handler : swfUploadLoadFailed,
swfupload_loaded_handler : swfUploadLoaded,
file_queued_handler : fileQueued,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
queue_complete_handler : queueComplete // Queue plugin event
};
swfu = new SWFUpload(settings);
}
</script>
<script>
var json ='${fileslist}';
$(function(){
var jsonData = eval(json);
$.each(jsonData,function(i,n){
$("#Searchresult").append("<li><a href='<%=path %>/"+n.filepath+"/"+n.newfilename+"'>"+n.filename+"</a><br />"+n.filesize+"</li>");
});
var num_entries = $("#Searchresult li").length;
var showCount = 10;
$("#total").html("一共有 "+num_entries+" 条数据 每页显示"+showCount+"条");
var initPagination = function() {
// 创建分页
$("#Pagination").pagination(num_entries, {
num_edge_entries: 1, //边缘页数
num_display_entries: 6, //主体页数
callback: pageselectCallback,
items_per_page:showCount //每页显示1项
});
}();
function pageselectCallback(page_index, jq){
var max_elem = Math.min((page_index+1) *showCount, num_entries);
$("#htcList").html("");
for(var i=page_index*showCount;i<max_elem;i++){
var new_content = $("#Searchresult li:eq("+i+")").clone();
$("#htcList").append(new_content); //装载对应分页的内容
}
return false;
}
});
//全选
function ckall(ck){
var isAll=ck.checked;
if(isAll){
for(var i=0;i<sysFilesForm.length;i++){
if(sysFilesForm.elements[i].type=='checkbox' && sysFilesForm.elements[i].name=='userCheck'){
sysFilesForm.elements[i].checked=true;
}
}
}else{
for(var i=0;i<sysFilesForm.length;i++){
if(sysFilesForm.elements[i].type=='checkbox' && sysFilesForm.elements[i].name=='userCheck'){
sysFilesForm.elements[i].checked=false;
}
}
}
}
function del(){
alert('批量删除');
}
</script>
</head>
<body>
<div id="header">
<h1 id="logo">文件上传</h1>
<div id="version"></div>
</div>
<div id="content">
<h2>上传状态栏</h2>
<form id="form1" action="<%=path%>/acl/FileManagerAction.do;jsessionid=<%=jsessionid%>?method=uploadAction" method="post" enctype="multipart/form-data">
<div id="divSWFUploadUI">
<div class="fieldset flash" id="fsUploadProgress">
<span class="legend">上传 队列</span>
</div>
<p id="divStatus">0 Files Uploaded</p>
<p>
<span id="spanButtonPlaceholder"></span>
<input id="btnCancel" type="button" value="Cancel All Uploads" disabled="disabled" style="margin-left: 2px; height: 22px; font-size: 8pt;" />
<br />
</p>
</div>
<noscript>
<div style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px;">
We're sorry. could not load. You must have JavaScript enabled to enjoy SWFUpload.
</div>
</noscript>
<div id="divLoadingContent" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;">
is loading. Please wait a moment...
</div>
<div id="divLongLoading" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;">
is taking a long time to load or the load has failed. Please make sure that the Flash Plugin is enabled and that a working version of the Adobe Flash Player is installed.
</div>
<div id="divAlternateContent" class="content" style="background-color: #FFFF66; border-top: solid 4px #FF9966; border-bottom: solid 4px #FF9966; margin: 10px 25px; padding: 10px 15px; display: none;">
We're sorry. could not load. You may need to install or upgrade Flash Player.
Visit the <a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">Adobe website</a> to get the Flash Player.
</div>
</form>
</div>
<div class="demo-info">
<div class="demo-tip icon-tip"></div>
<div>提示:</div>
</div>
<div style="margin:10px 0;">
<a href="#" class="easyui-linkbutton" onclick="open1()">打开</a>
<a href="#" class="easyui-linkbutton" onclick="close1()">关闭</a>
<a href="#" class="easyui-linkbutton" onclick="del()">删除</a>
<!-- <a href="#" class="easyui-linkbutton" onclick="load1()">刷新</a> -->
</div>
<bean:define id="basePage" name="sysFilesForm" />
<html:form action="/acl/FileManagerAction.do" method="post">
<div class="clear"></div>
<div id="model">
<div class="title"><h2>数据列表</h2><a id="total"></a></div>
<div class="clear"></div><ul id="htcList">
</ul>
<div class="clear"></div>
<div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
<ul id="Searchresult" style="display:none;">
</ul>
</div>
</html:form>
</body>
</html>
-----------------------------------------------------------------------------------------
strtus1 后台代码:
public ActionForward uploadAction(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// System.out.println("xxx");
SysFilesForm sysFilesForm = (SysFilesForm) form;
ISysFilesService sysFilesService = ServiceLoader.getSysFilesService();
try {
request.setCharacterEncoding("UTF-8");
HttpSession session = request.getSession();
session.setAttribute("SESSIONID", session.getId());
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<?> items = upload.parseRequest(request);
System.out.println("request:" + request.getParameter("PHPSESSID"));
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
String now = df.format(date);
UserInfo user = (UserInfo) session.getAttribute(UserInfo.USERINFO);
Iterator<?> iter = items.iterator();
while (iter.hasNext()) {
System.out.println(" 进来了");
FileItem item = (FileItem) iter.next();
String fileNames = item.getName();
System.out.println(fileNames);
SysFiles sf = new SysFiles();
if (item.isFormField()) { // 判断是否为普通表单域,还是文件上传表单域。
/*
* String name = item.getFieldName(); String value =
* item.getString(); System.out.println("name = " + name);
* System.out.println("value = " + value);
* System.out.println("/r/n");
*/
} else {
String fieldName = item.getFieldName();
String fileName = item.getName();
System.out.println("文件类型 "
+ fileName.substring(fileName.lastIndexOf('.') + 1,
fileName.length()));
// boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();
getListInSession(request).add(fileName);
getListInSession(request).add(UUID.randomUUID());
// String[] str=fieldName.split("\\.");
// int l=str.length-1;
// System.out.println("文件类型 "+str[l]);
//
System.out.println("fieldName = " + fieldName);
System.out.println("fileName = " + fileName);
// System.out.println("文件存储路径 "+request.getRealPath("/")+"uploadfile/");
// 路径 D:\Program
// Files\apache-tomcat-6.0.18\webapps\rockontrol_oa\UploadFiles\2009042991039312\
String filePath = this.getServlet().getServletContext()
.getRealPath("/")
+ "Files/";
File savePath = new File(filePath);
if (!savePath.exists()) { // 判断是否存在存放目录文件夹
savePath.mkdir();
savePath.createNewFile();
}
item.write(new File(filePath + now + "_" + fileName));
sf.setFilename(fileName);
sf.setFilepath("Files");
// 1mb=1024kb
// 1kb=1024byte(b)
long sizea = item.getSize(); // 上传文件大小
System.out.println("最初的文件大小: " + sizea);
double sizeb = new Double(sizea);
double sizec = sizeb / 1024 / 1024;
String parten = "#.#";
DecimalFormat decimal = new DecimalFormat(parten);
String str = decimal.format(sizeb / 1024 / 1024);
String size = String.valueOf((str)) + "MB";
if (sizec < 1) {
sf.setFilesize(sizea / 1024 + "KB");
} else {
sf.setFilesize(size);
}
System.out.println(item.getName());
// request.getRealPath("/")
// System.out.println("类型:------------"+request.getContentType());FileTypeJudge.getType
sf.setFiletype(FileTypeJudge.getType(
request.getRealPath("/") + "Files/" + now + "_"
+ fileName).toString());
sf.setNewfilename(now + "_" + fileName);
sf.setTime(new Date());
sf.setUploaduser(user.getYhdm());
int id = sysFilesService.save(sf);
if (id <= 0) {
System.out.println(fileName + "保存失败");
log.error(fileName + "保存失败");
} else {
System.out.println(fileName + "保存成功");
}
}
}
System.out.println("-------- final--------");
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
// return findForwardCommon(mapping, form, "index");
}
public ActionForward getResult(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
List list = getListInSession(request);
request.getSession().removeAttribute("_result");
response.setCharacterEncoding("utf-8");
response.getWriter().print(list);
response.flushBuffer();
return null;
}
public List getListInSession(HttpServletRequest request) {
List result = (List) request.getSession().getAttribute("_result");
if (result == null) {
result = new ArrayList();
request.getSession().setAttribute("_result", result);
}
return result;
}
strtuts1 xml:
<action path="/acl/FileManagerAction" type="com.sunland.action.acl.FileManagerAction"
name="sysFilesForm" scope="request" parameter="method">
<forward name="index" path="/WEB-INF/webpages/file/filemanager.jsp"
redirect="false" />
</action>
web.xml里涉及strtus1的:
<!-- Struts的配置 -->
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>validate</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
网上看到struts2遇到这个问题的解决办法是过滤器里把/*改成 *.action
这个我这个虽然是strtus1但是我应该也没有哪里做了全路径拦截
解决办法:
把访问strustaction类改成访问servelt
不访问 strtus的action、
我的servelet是这样写的,当然里面有一些涉及数据库的操作 遇到同样问题的人只要参考文件操作的代码就好了
package com.sunland.servelet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.fileupload.DefaultFileItemFactory;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import com.sunland.po.SysFiles;
import com.sunland.service.ISysFilesService;
import com.sunland.service.ServiceLoader;
import com.sunland.util.FileTypeJudge;
import com.sunland.util.UserInfo;
public class UploadFile extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
public UploadFile() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
ISysFilesService sysFilesService = ServiceLoader.getSysFilesService();
HttpSession session = request.getSession();
session.setAttribute("SESSIONID", session.getId());
UserInfo user = (UserInfo) session.getAttribute(UserInfo.USERINFO);
session.setAttribute("SESSIONID", session.getId());
FileItemFactory factory = new DefaultFileItemFactory();
FileUpload upload = new FileUpload(factory);
Iterator items;
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
String now = df.format(date);
try {
items = upload.parseRequest(request).iterator();
while (items.hasNext()) {
FileItem item = (FileItem) items.next();
if (!item.isFormField()) {
String name = item.getName();
String filetype = name.substring(name.lastIndexOf("."));
//String name = System.currentTimeMillis()+filetype;
// System.out.println(name+"--"+new String(name.getBytes("GBK"),"UTF-8"));
String realpath = request.getRealPath("/Files");
String path = realpath + File.separatorChar +now + "_" + name;
File file = new File(path);
if (!file.exists()) {
File file1 = new File(realpath);
file1.mkdirs();
file.createNewFile();
}else{
file.createNewFile();
}
item.write(file);
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter();
out.print("<font size='2'>上传的文件为:" + name + "<br>");
out.print("保存的地址为:" + path + "</font>");
SysFiles sf = new SysFiles();
sf.setFilename(name);
sf.setFilepath("Files");
// 1mb=1024kb
// 1kb=1024byte(b)
long sizea = item.getSize(); // 上传文件大小
System.out.println("最初的文件大小: " + sizea);
double sizeb = new Double(sizea);
double sizec = sizeb / 1024 / 1024;
String parten = "#.#";
DecimalFormat decimal = new DecimalFormat(parten);
String str = decimal.format(sizeb / 1024 / 1024);
String size = String.valueOf((str)) + "MB";
if (sizec < 1) {
sf.setFilesize(sizea / 1024 + "KB");
} else {
sf.setFilesize(size);
}
System.out.println(item.getName());
// request.getRealPath("/")
// System.out.println("类型:------------"+request.getContentType());FileTypeJudge.getType
sf.setFiletype(FileTypeJudge.getType(
request.getRealPath("/") + "Files/" + now + "_"
+ name).toString());
sf.setNewfilename(now + "_" + name);
sf.setTime(new Date());
sf.setUploaduser(user.getYhdm());
int id = sysFilesService.save(sf);
if (id <= 0) {
System.out.println(name + "保存失败");
//log.error(name + "保存失败");
} else {
System.out.println(name + "保存成功");
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
public void init() throws ServletException {
}
}
servlet的web.xml配置 很简单
<!-- 文件批量上传 start -->
<servlet>
<description>file upload</description>
<display-name>file upload</display-name>
<servlet-name>UploadServlet</servlet-name>
<servlet-class>com.sunland.servelet.UploadFile</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/servlet/UploadServlet</url-pattern>
</servlet-mapping>
<!-- 文件批量上传 end -->
这样swfupload的就可以上传了 另外我改了几个 官网的php例子,可以上传批量文件,文件名称是swfobjectdemo,里面的改了可以上传,其他的没改道理一样把upload.php拷贝过去就好了,官网下载下来的是没有保存文件的,有兴趣的朋友可以下载学习。版本是最新的swfupload v2.5
另外这里放了一个 纯servlet上的例子 这是网上找的,你们可以参考
- SWFUpload25.rar (933.3 KB)
- 下载次数: 15
- swfupload.rar (57.6 KB)
- 下载次数: 8
发表评论
-
java word导出
2016-06-30 08:49 2585需要导出的word文档是事先准备好的一个模板,文档数据所在的位 ... -
spring 4mvc下载文件的实现
2016-06-14 13:52 2544网上找到的版本较老 是spring3的 org.spring ... -
cas不同登录页面手动设置不同国际化提示
2016-05-05 09:48 1285<% org.springframework.web. ... -
实用技术解决方案博客地址记录
2016-04-14 10:35 616Jquery 将表单序列化为Json对象:http://www ... -
如果实现类似微信附近的人功能
2016-01-13 10:09 2454如果实现类似微信附近的人功能: 第一种可以使用redis-ge ... -
cxf+wss4j+mysql webservice 加密服务开发
2015-11-04 10:02 2968我采用的是cxf 加密端用的 WSS4J 服务端查询数据库 ... -
多项目集中权限管理系统 采用cas +shiro+spring mvc+mbatis+bootstrap单点登录
2015-10-13 17:37 10196流程架构图: 这里权限系统也可以理解为cas client ... -
OAuthProblemException{error='unsupported_response_type', description='Invalid re
2015-09-21 18:05 4509OAuthProblemException{error='un ... -
导出数据到excel
2014-12-08 10:10 1402/** * * @param datas 数据行 ... -
java.lang.NoSuchMethodError: org.apache.axiom.soap.SOAPEnvelope.hasFault()Z错误的解决
2014-12-05 14:21 1627axis2 运行报这个错误的原因是 要么缺少 包 ,axiom ... -
spring mvc+shiro的通用权限管理系统
2014-10-23 13:50 26827同志们 我的 spring mvc+shiro的通用权限管理系 ... -
多线程断点下载文件
2014-09-23 15:46 1229所谓多线程断点下载 :就是当某个文件下了一部分后突然断电了,或 ... -
多线程下载文件
2014-09-22 17:27 2178package mutiDownload; import ... -
java按照每周分组 改进版
2014-07-07 16:07 4288之前是按照 先把数据按月分组 然后再按周分组 这样有个问题就是 ... -
java 按照每周分组
2014-06-09 09:07 7002本例的工作应用是导入excel excel的列里有一个发布日 ... -
java计算链表、数组列表或数组中最大元素
2014-03-09 23:50 2652package com; import java.uti ... -
java 获取数组的最大值和最小值
2014-03-02 22:08 6914package com; public class St ... -
宁波java开发技术群
2014-02-17 09:54 1宁波java开发群 240974225 在宁波做java开发的 ... -
spring mvc +jdbctemplate 返回多表查询List<Bean>
2013-12-27 13:19 17758发现 hibernate做多表查询 是忒麻烦了 Spring ... -
读《大型网站技术架构:核心原理与案例分析》 后感
2013-11-26 10:36 5655大型网站软件系统有比 ...
相关推荐
var SWFUpload; if (typeof(SWFUpload) === "function") { SWFUpload.queue = {}; SWFUpload.prototype.initSettings = (function (oldInitSettings) { return function () { if (typeof(oldInitSettings) ...
*swfUpload/Flash/swfupload.swf?movieName=aaa"])}catch(e)...*解决swfupload-xss注入,自己项目中遇到的,已经修改 亲测通过 *将文件中的swf文件替换掉项目中的swf文件 *将swfupload.as文件替换掉项目中的as文件 即可
### SWFUpload上传文档报400错误的解决办法 #### 背景与问题描述 在使用SWFUpload进行文件上传的过程中,可能会遇到HTTP状态码为400的错误。这种错误通常意味着服务器无法理解请求的数据格式,最常见的原因是...
总结,SWFUpload是一个功能强大的Flash上传组件,虽然现代浏览器已不再支持Flash,但在过去它为网页文件上传提供了高效、友好的解决方案。通过研究给定的示例文件,开发者可以了解到如何在ASP.NET 2.0环境中集成...
SWFupload是一个经典的文件上传组件,它利用JavaScript和Flash技术,为用户提供了一种高效、便捷的多文件上传功能。在Web应用中,尤其是在处理大量用户文件上传时,SWFupload的出现极大地改善了用户体验,避免了传统...
SWFUpload为Web开发人员提供了一个灵活且功能强大的解决方案,用于实现多文件无刷新上传。通过细致的配置和自定义选项,开发者可以根据项目需求调整上传流程的各个方面,从而提升用户体验并满足特定的应用场景。结合...
解决SWFUpload中文乱码问题的关键在于统一编码标准和正确设置参数。以下是几个重要的解决步骤: 1. **配置Flash编码**:在SWFUpload的初始化设置中,确保`post_params`参数设置为`{" FlashVars": "charset=UTF-8"}`...
file_size_limit: "5 MB", button_placeholder_id: "file_upload_button", // 其他配置项... }); swfu.addEventListener("fileQueued", fileQueuedHandler); swfu.addEventListener("fileQueueError", ...
总的来说,"swfupload上传demo示例"提供了一个完整的解决方案,展示了如何在ThinkPHP框架下使用SwfUpload实现多文件上传功能。通过理解SwfUpload的工作原理,结合ThinkPHP的控制器和视图机制,以及恰当的数据库设计...
SWFUpload 可以轻松与后端框架(如PHP、ASP.NET、Java)集成,配合数据库存储和文件系统管理,实现完整的文件上传解决方案。 8. **兼容性与优化** 虽然SWFUpload依赖Flash,但随着Flash逐渐被淘汰,开发者应考虑...
下面将详细介绍如何解决Struts2与SWFupload上传冲突的问题。 **1. 问题分析** Struts2提供了一套自己的文件上传机制,它通过Interceptor(拦截器)来处理上传请求。而SWFupload利用Flash技术上传文件,其提交的数据...
总之,SWFUpload 是一个强大的文件上传解决方案,对于那些需要确保在多种浏览器环境下稳定运行的项目,它是一个值得考虑的选择。虽然现代的Web开发更倾向于使用HTML5的File API,但在过渡期间,SWFUpload 仍然是一个...
SWFUpload v2包含了新的高级功能,改善了稳定性,解决了FlashPlayer中的一些bug,并且提供一套有用的插件。新的功能包括: 在文件上传的同时能够发送额外的POST数据(只针对Flash 9 版本) 针对每一个文件上传发送...
总的来说,SWFUpload是一个强大且灵活的文件上传解决方案,它简化了批量上传图片的复杂流程,同时支持自定义功能扩展,如图片预览、描述输入和数据库存储。通过理解和实践,你可以创建出符合自己项目需求的文件上传...
SwfUpload 是一款开源的Flash上传组件,常用于网页中的文件上传功能,特别是处理大文件或需要批量上传的场景。在Java Web开发中,SwfUpload可以与JSP结合使用,提供用户友好的多文件上传体验。本示例将探讨如何在JSP...
在ASP环境中,SWFUpload 可以很好地解决传统ASP上传文件时遇到的大小限制和性能问题。 首先,我们要理解SWFUpload的工作原理。它利用了Adobe Flash技术来绕过浏览器对文件上传大小的限制,因为Flash插件允许上传更...
SwfUpload是一款强大的JavaScript库,它允许在网页中实现Flash上传功能,尤其适用于处理大量文件上传或需要进行预上传处理的场景。这个“SwfUpload的用法Demo”压缩包虽然不包含SwfUpload的核心文件,但我们可以从其...
总的来说,SWFUpload_V2.2.0是一个强大的文件上传解决方案,它结合了JavaScript和Flash的优点,为Web开发人员提供了可靠且可定制的上传工具。通过学习提供的文档和样例,开发者可以快速掌握并应用到自己的项目中。
file_size_limit: "10 MB", // 文件大小限制 file_types: "*.jpg;*.jpeg;*.png;*.gif", // 允许上传的文件类型 file_types_description: "Image Files", file_upload_limit: 10, // 最大上传文件数量 flash_url...