如何使用Ajax在Struts 2中上传文件
下载Struts2
jQuery插件
,并像通常使用Struts2一样进行操作。
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
<head>
<sj:head/>
</head>
<body>
<s:form id="form" action="AjaxTest">
<s:file name="myFile" ... />
<sj:submit value="Submit Form" targets="myAjaxTarget"/>
</s:form>
<div id="myAjaxTarget">
</div>
</body>
</html>
主要内容:创建视图文件:,创建action类:,配置文件:,错误消息:Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传。上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的目录,以确保数据不丢失。 请注意,服务器有一个安全策略可能会禁止写到目录以外的临时目录和属于web应用的目录。 在Struts中的文件上传是通过预先定义的拦截文件上传拦截器这是可通过org.apache.struts2.in
问题内容: 诚然,Stack Overflow周围也存在类似的问题,但似乎没有一个完全符合我的要求。 这是我想要做的: 上载整个数据格式,其中一个是 单个 文件 使用Codeigniter的文件上传库 到这里为止,一切都很好。数据根据需要进入我的数据库。但我也想通过AJAX帖子提交表单: 使用原生HTML5 File API,而不是Flash或iframe解决方案 最好与低级jQuery方法接口
问题内容: 嗨,我正在尝试使用此代码发送带有xmlhttprequest的文件。 但我收到此错误:请求被拒绝,因为未找到多部分边界,请帮助我。 问题答案: 没有这样的事情; 文件对象不应该以这种方式附加。 不发送文件。您必须使用对象将文件包装到post数据对象中: formData.append(“thefile”, file); xhr.send(formData); 之后,可以访问文件(如果您
问题内容: 我知道有很多类似的问题,但是我仍然没有找到解决问题的方法。我正在尝试使用XMLHttpRequest上传文件,因此我开发了以下代码: PHP端脚本是: 但是var $ _FILES [‘file’]似乎为空,这意味着该文件未发送到服务器。然后,我决定在下面的代码中使用FormData对象 它可以正常工作,但文件大小只有8mb左右。当我尝试发送大小超过8mb的文件时,该var 再次变空
问题内容: 我已经进行了很多搜索,以了解如何使用Ajax从表单上载文件,并发现xhr2应该可以做到。但是,我已经尝试过使用FormData对象,但它不起作用。 这是一个简单的html表单 这是“ post.php”文件,当以“老式”方式运行时,它可以正常工作: 这是“ upload.js” 您知道为什么它不起作用吗?控制台返回“未发送文件”。 非常感谢 ! 问题答案: 尝试替换代码: 有了这个:
问题内容: 我想通过ajax调用使用WebApi上传文件,该文件将保存到数据库中。我尝试了此链接中 给出的代码 。在这里,它将接收到的数据作为未指定扩展名的文件保存到硬盘驱动器中,但是我想要执行类似将文件保存到数据库时的操作,我也想保存文件名和扩展名原因,如果以后需要要下载文件,我可以提供文件名和扩展名。并在链接中将文件作为文件保存到硬盘,但是有什么方法可以直接将文件保存到DB。 问题答案: 答案