我刚刚开始使用Uploadify Flash插件而不是标准HTML UI。
并遇到了下一个问题:
当我单击“上传文件”链接时,将显示进度并显示“已完成”状态,但实际上-并未发生任何事情,因此未从后端调用Java Servlet。
有上传的servlet和上传下一个方式执行 早先 :
< form enctype="multipart/form-data" method="post" target="uploadFrame"
action="<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=${remoteFolder}">...
提供Uploadify插件后,UI 现在 如下所示:
插件部分(配置):
<script>
...
oScript.text+= "$j('#uploadify').uploadify({";
oScript.text+= "'uploader' : 'kne-portlets/js/lib/uploadify/scripts/uploadify.swf',";
oScript.text+= "'script' : '<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
oScript.text+= "'cancelImg': 'kne-portlets/js/lib/uploadify/cancel.png',";
oScript.text+= "'folder' : '<%= decodedString %>',";
oScript.text+= "'queueID' : 'fileQueue',";
oScript.text+= "'auto' : false,";
oScript.text+= "'multi' : false,";
//oScript.text+= "'sizeLimit' : 1000";
oScript.text+= "});";
oScript.text+= "});";
...
</script>
这里的’scripts’参数指向后端的Java Servlet
<%= decodedString %>
是文件夹路径,其值为 \\ file-srv \ demo
上传部分:
<input type="file" name="uploadify" id="uploadify" />
<a href="javascript:$j('#uploadify').uploadifyUpload();">Upload Files</a>
我的错在哪里
插件配置中的“脚本”参数指向后端的Java Servlet,此操作已完成,但未触发Servlet。
错误,如果“脚本”参数不正确:http :
//img190.imageshack.us/i/errormm.png/
感谢您的协助。
这可能有很多可能的原因(另请参阅我发表的评论)。
url-pattern
。很难根据现有信息确定根本原因。
正如您提到的那样,您没有在FireBug的“网络”选项卡中看到任何请求被触发,我认为JS代码在语法/逻辑上完全无效。右键单击页面,然后双重验证生成/打印的JS代码。
更新: 我试图重现您的问题。
我下载了jquery.uploadify-v2.1.0(MIT),将其解压缩并将所有内容/WebContent/uploadify
放入Eclipse中我的(空)操场Web项目的文件夹中。
我创建了一个/WebContent/upload.jsp
文件,如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Uploadify test</title>
<script src="uploadify/jquery-1.3.2.min.js"></script>
<script src="uploadify/swfobject.js"></script>
<script src="uploadify/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#uploadify').uploadify({
'uploader': 'uploadify/uploadify.swf',
'script': 'uploadServlet',
'folder': '/uploads',
'cancelImg': 'uploadify/cancel.png'
});
$('#upload').click(function() {
$('#uploadify').uploadifyUpload();
return false;
});
});
</script>
</head>
<body>
<input id="uploadify" type="file">
<a id="upload" href="#">Upload</a>
</body>
</html>
com.example.UploadServlet
与帮助不大如下Apache的百科全书文件上传(刚放置commons-fileupload-1.2.1.jar
并commons-io-1.4.jar
于/WEB-INF/lib
): package com.example;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
System.out.println("UploadServlet invoked. Here are all uploaded files: ");
try {
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
System.out.println("Name: " + item.getName());
System.out.println("Size: " + item.getSize());
System.out.println("Type: " + item.getContentType());
}
}
} catch (Exception e) {
throw new ServletException(e);
}
}
}
com.example.UploadServlet
的web.xml
,如下所示: <servlet>
<servlet-name>uploadServlet</servlet-name>
<servlet-class>com.example.UploadServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>uploadServlet</servlet-name>
<url-pattern>/uploadServlet</url-pattern>
</servlet-mapping>
Upload
链接,然后看到上传百分比计数器增长到100%,我终于在标准输出中看到以下内容:UploadServlet被调用。这是所有上传的文件:
名称:glassfish-v3-windows.exe
尺寸:50402555
类型:应用程序/八位字节流
很抱歉,我无法重现您的问题。至少,以上信息应该可以帮助您“重新开始”。希望能帮助到你。
更新: 根据评论,过滤器期望它正在使用相同的会话。好的,您可以通过更改
'<%= request.getContextPath() %>/uploadFile?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
至
'<%= request.getContextPath() %>/uploadFile;jsessionid=${pageContext.session.id}?portletId=${portletId}&remoteFolder=<%= decodedString %>',";
本文向大家介绍Jquery uploadify上传插件使用详解,包括了Jquery uploadify上传插件使用详解的使用技巧和注意事项,需要的朋友参考一下 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示或下载。 首先按下面的步骤来实现一个简单
本文向大家介绍jQuery文件上传插件Uploadify使用指南,包括了jQuery文件上传插件Uploadify使用指南的使用技巧和注意事项,需要的朋友参考一下 对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持 Flash,主要特性:支持多文件上传、HTML5版本可拖拽上传、实时上传进度条显示、强大的参数 定制功能,如文件大小、文件类型、按钮图片定义、上传文件脚本
本文向大家介绍聊一聊jQuery插件uploadify使用方法,包括了聊一聊jQuery插件uploadify使用方法的使用技巧和注意事项,需要的朋友参考一下 说说自己使用uploadify的一波三折的曲折过程: 之所以要选择uploadify,是源于自己先前使用过jQuery官网的上传文件插件,比较难用(页面写的代码比较多,IE下后台回传需要配置格式【不清楚其他上传插件是否也是这样】),而且一
本文向大家介绍AspNet中使用JQuery上传插件Uploadify详解,包括了AspNet中使用JQuery上传插件Uploadify详解的使用技巧和注意事项,需要的朋友参考一下 首先按下面的步骤来实现一个简单的上传功能。 1 创建Web项目,命名为JQueryUploadDemo,从官网上下载最新的版本解压后添加到项目中。 2 在项目中添加UploadHandler.ashx文件用来处理文件
本文向大家介绍BootStrap中Datetimepicker和uploadify插件应用实例小结,包括了BootStrap中Datetimepicker和uploadify插件应用实例小结的使用技巧和注意事项,需要的朋友参考一下 bootstrap-datetimepicker是一款轻便的时间选择插件,支持Time选择,国际化,应用起来相当简单。而uploadify则是一款支持多文件上传的插件。
我花了很多时间研究如何调用Maven shade插件来构建uber jar(具有所有依赖项)。我找到的大多数支持google的信息(包括许多示例和Maven文档)表明,我所要做的就是将插件包含到pom中。xml: 然后,“mvn包”(或最终调用“包”的任何其他目标)将自动触发此插件。 但不管我怎么做,真正调用插件的唯一方法似乎是:运行“mvn package shade:shade”(这似乎违背了
Uploadify简单说来,是基于Jquery的一款文件上传插件。它的功能特色总结如下: 支持单文件或多文件上传,可控制并发上传的文件数 在服务器端支持各种语言与之配合使用,诸如PHP,.NET,Java…… 通过参数可配置上传文件类型及大小限制 通过参数可配置是否选择文件后自动上传 易于扩展,可控制每一步骤的回调函数(onSelect, onCancel……) 通过接口参数和CSS控制外观 在线演示
我是spring webflux和reactor的新手,我希望在发生某些特定异常时有一个回退机制,根据我的研究,onErrorResume方法可以做到这一点,但它不会被调用,我得到500个内部服务器错误,而不是触发回退并阻止此错误。 注意:我使用Spring网络流量,这意味着它在Reactor项目的正常行为中做了一些改变 这是堆栈跟踪