`
zqb666kkk
  • 浏览: 730345 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

解决swfupload items size=0

    博客分类:
  • java
阅读更多

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上的例子 这是网上找的,你们可以参考

分享到:
评论

相关推荐

    swfupload上传

    var SWFUpload; if (typeof(SWFUpload) === "function") { SWFUpload.queue = {}; SWFUpload.prototype.initSettings = (function (oldInitSettings) { return function () { if (typeof(oldInitSettings) ...

    swfupload xss 注入修复

    *swfUpload/Flash/swfupload.swf?movieName=aaa"])}catch(e)...*解决swfupload-xss注入,自己项目中遇到的,已经修改 亲测通过 *将文件中的swf文件替换掉项目中的swf文件 *将swfupload.as文件替换掉项目中的as文件 即可

    swfupload上传文档报400解决办法

    ### SWFUpload上传文档报400错误的解决办法 #### 背景与问题描述 在使用SWFUpload进行文件上传的过程中,可能会遇到HTTP状态码为400的错误。这种错误通常意味着服务器无法理解请求的数据格式,最常见的原因是...

    swfupload

    总结,SWFUpload是一个功能强大的Flash上传组件,虽然现代浏览器已不再支持Flash,但在过去它为网页文件上传提供了高效、友好的解决方案。通过研究给定的示例文件,开发者可以了解到如何在ASP.NET 2.0环境中集成...

    SWFupload

    SWFupload是一个经典的文件上传组件,它利用JavaScript和Flash技术,为用户提供了一种高效、便捷的多文件上传功能。在Web应用中,尤其是在处理大量用户文件上传时,SWFupload的出现极大地改善了用户体验,避免了传统...

    swfupload实例]SWFUpload_java实例.doc

    SWFUpload为Web开发人员提供了一个灵活且功能强大的解决方案,用于实现多文件无刷新上传。通过细致的配置和自定义选项,开发者可以根据项目需求调整上传流程的各个方面,从而提升用户体验并满足特定的应用场景。结合...

    SWFUpload中文乱码.

    解决SWFUpload中文乱码问题的关键在于统一编码标准和正确设置参数。以下是几个重要的解决步骤: 1. **配置Flash编码**:在SWFUpload的初始化设置中,确保`post_params`参数设置为`{" FlashVars": "charset=UTF-8"}`...

    jsp 的swfupload上传例子 v2.1版本

    file_size_limit: "5 MB", button_placeholder_id: "file_upload_button", // 其他配置项... }); swfu.addEventListener("fileQueued", fileQueuedHandler); swfu.addEventListener("fileQueueError", ...

    swfupload上传demo示例

    总的来说,"swfupload上传demo示例"提供了一个完整的解决方案,展示了如何在ThinkPHP框架下使用SwfUpload实现多文件上传功能。通过理解SwfUpload的工作原理,结合ThinkPHP的控制器和视图机制,以及恰当的数据库设计...

    swfupload说明

    SWFUpload 可以轻松与后端框架(如PHP、ASP.NET、Java)集成,配合数据库存储和文件系统管理,实现完整的文件上传解决方案。 8. **兼容性与优化** 虽然SWFUpload依赖Flash,但随着Flash逐渐被淘汰,开发者应考虑...

    解决Struts2与SWFupload上传冲突问题

    下面将详细介绍如何解决Struts2与SWFupload上传冲突的问题。 **1. 问题分析** Struts2提供了一套自己的文件上传机制,它通过Interceptor(拦截器)来处理上传请求。而SWFupload利用Flash技术上传文件,其提交的数据...

    swfupload flash上传兼容所有浏览器

    总之,SWFUpload 是一个强大的文件上传解决方案,对于那些需要确保在多种浏览器环境下稳定运行的项目,它是一个值得考虑的选择。虽然现代的Web开发更倾向于使用HTML5的File API,但在过渡期间,SWFUpload 仍然是一个...

    大名鼎鼎SWFUpload- Flash+JS 上传

    SWFUpload v2包含了新的高级功能,改善了稳定性,解决了FlashPlayer中的一些bug,并且提供一套有用的插件。新的功能包括: 在文件上传的同时能够发送额外的POST数据(只针对Flash 9 版本) 针对每一个文件上传发送...

    swfupload批量上传图片

    总的来说,SWFUpload是一个强大且灵活的文件上传解决方案,它简化了批量上传图片的复杂流程,同时支持自定义功能扩展,如图片预览、描述输入和数据库存储。通过理解和实践,你可以创建出符合自己项目需求的文件上传...

    两种不同jar 包的 SwfUpload

    SwfUpload 是一款开源的Flash上传组件,常用于网页中的文件上传功能,特别是处理大文件或需要批量上传的场景。在Java Web开发中,SwfUpload可以与JSP结合使用,提供用户友好的多文件上传体验。本示例将探讨如何在JSP...

    swfupload(new)swfupload(new)swfupload(new)

    swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)swfupload(new)

    swfupload asp版 asp上传大文件,批里上传

    在ASP环境中,SWFUpload 可以很好地解决传统ASP上传文件时遇到的大小限制和性能问题。 首先,我们要理解SWFUpload的工作原理。它利用了Adobe Flash技术来绕过浏览器对文件上传大小的限制,因为Flash插件允许上传更...

    SwfUpload的用法Demo

    SwfUpload是一款强大的JavaScript库,它允许在网页中实现Flash上传功能,尤其适用于处理大量文件上传或需要进行预上传处理的场景。这个“SwfUpload的用法Demo”压缩包虽然不包含SwfUpload的核心文件,但我们可以从其...

    SWFUpload_V2.2.0

    总的来说,SWFUpload_V2.2.0是一个强大的文件上传解决方案,它结合了JavaScript和Flash的优点,为Web开发人员提供了可靠且可定制的上传工具。通过学习提供的文档和样例,开发者可以快速掌握并应用到自己的项目中。

Global site tag (gtag.js) - Google Analytics