form表单上传文件后,获取成功或者失败信息

问题描述

jsp部分:<formid="add_form"action="addPerson.action"method="post"enctype="multipart/form-data"namespace="/"><div><table><tr><td>&nbsp;</td><td><div><inputid="eduFileName"name="eduFileName"type="text"class="input03"readonly/><inputid="eduFile"name="eduFile"type="file"style="width:0px"onchange="onUploadImgChange(this,'edu')"><inputid="getEduFile"name="getEduFile"type="button"value="选择文件"onclick="eduFile.click();"class="btn03"/><pclass="pic—01"><divid="eduPreviewFake"><imgid="eduPreview"onload="onPreviewLoad(this)"/></div></p></div></td></tr></table>这是一个人员添加页面,大概有40多个字段,其中6个字段需要上传图片并预览,通过submit按钮触发action,将form表单提交到后台Java部分:publicStringaddPerson()throwsException{Staffstaff=newStaff();/StringeduPath=getPath(eduFile,eduFileName);staff.setEduPath(eduPath);returnmsg;将文件上传后,存储路径。现在的问题是,我无法将保存成功或者失败的信息返回到前台使用ajax不可避免的会用到上传控件,而控件会破坏我页面的样式,也就是风格不统一大家有什么好的办法没有?

解决方案

解决方案二:
看了你的需求:不用ajax、form提交、action接收、页面提示现在就简单了。进入页面的action里面随意设置一个变量status,默认值"default"。在进入页面后赋值给form的一个hidden。然后做完操作提交之后,action接收请求,并处理操作。如果成功了,status的值改成"success",失败改成"falure",否则"default"。然后在页面js进行判断status的值。如果是"success",则提示“获取成功”;如果是"falure",则提示“获取失败”;如果是"default",不做任何操作....亲,还有疑问么?不用我贴代码了吧....坑爹,答案打完了,浏览器崩溃,害我重打......
解决方案三:
关键是你的图片还要有预览功能,建议你把图片部分和文字部分分开,图片用ajax,文字部分可以用form表单提交也可以用ajax,建议用ajax。
解决方案四:
引用1楼shijing266的回复:

看了你的需求:不用ajax、form提交、action接收、页面提示现在就简单了。进入页面的action里面随意设置一个变量status,默认值"default"。在进入页面后赋值给form的一个hidden。然后做完操作提交之后,action接收请求,并处理操作。如果成功了,status的值改成"success",失败改成"falure",否则"default"。然后在页面js进行判断status的值。如果是"success",则提示“获取成功”;如果是"falure",则提示“获取失败”;如果是"default",不做任何操作....亲,还有疑问么?不用我贴代码了吧....坑爹,答案打完了,浏览器崩溃,害我重打......

你这个想法我有过,设置一个msg变量,通过struts标签在jsp页面获取,然后直接anert出成功或者失败信息。但是需要在执行完addPerson.action这个action后重新跳转至这个页面<actionname="addPerson"class="NewPerson"method="addPerson"><interceptor-refname="fileUploadStack"/><resultname="success">/WEB-INF/jsp/admin/addPeople.jsp</result></action>这会导致页面数据丢失,其他的数据还可以通过struts标签加载回来,但是图片上传的地方数据没法加载有没有不做跳转的方法?
解决方案五:
引用3楼chentao860606的回复:

Quote: 引用1楼shijing266的回复:
看了你的需求:不用ajax、form提交、action接收、页面提示现在就简单了。进入页面的action里面随意设置一个变量status,默认值"default"。在进入页面后赋值给form的一个hidden。然后做完操作提交之后,action接收请求,并处理操作。如果成功了,status的值改成"success",失败改成"falure",否则"default"。然后在页面js进行判断status的值。如果是"success",则提示“获取成功”;如果是"falure",则提示“获取失败”;如果是"default",不做任何操作....亲,还有疑问么?不用我贴代码了吧....坑爹,答案打完了,浏览器崩溃,害我重打......

你这个想法我有过,设置一个msg变量,通过struts标签在jsp页面获取,然后直接anert出成功或者失败信息。但是需要在执行完addPerson.action这个action后重新跳转至这个页面<actionname="addPerson"class="NewPerson"method="addPerson"><interceptor-refname="fileUploadStack"/><resultname="success">/WEB-INF/jsp/admin/addPeople.jsp</result></action>这会导致页面数据丢失,其他的数据还可以通过struts标签加载回来,但是图片上传的地方数据没法加载有没有不做跳转的方法?

不跳转。2种办法。1、ajax2、dwr
解决方案六:
ajax没法获取file类文件吧
解决方案七:
我之前就做了一个这样的功能,写了篇简单的博文,你可以参考一下。http://blog.csdn.net/zmcmm/article/details/37872097
解决方案八:
jquery有个插件交ajaxfileupload不会破坏样式的很好用

时间: 2024-12-30 21:58:16

form表单上传文件后,获取成功或者失败信息的相关文章

form表单上传文件

  表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码. 默认情况,enctype的编码格式是application/x-www-form-urlencoded,不能用于文件上传: 只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.   利用表单上传文件的例子: <form id="form1" runat="server" enctype="m

thinkphp表单上传文件并将文件路径保存到数据库中_php实例

上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` ( `id` int(11) NOT NULL AUTO_INCREMENT, `img_name` varchar(255) DEFAULT NULL COMMENT '图片名称', `img_url` varchar(255) DEFAULT NULL COMMENT '图片路径', `create_time` text,

thinkphp表单上传文件并将文件路径保存到数据库中

上传单个文件,此文以上传图片为例,上传效果如图所示 创建数据库upload_img,用于保存上传路径 CREATE TABLE `seminar_upload_img` ( `id` int(11) NOT NULL AUTO_INCREMENT, `img_name` varchar(255) DEFAULT NULL COMMENT '图片名称', `img_url` varchar(255) DEFAULT NULL COMMENT '图片路径', `create_time` text,

技术-spring 3+hibernate 4+JSP 表单上传文件

问题描述 spring 3+hibernate 4+JSP 表单上传文件 我使用spring 3+hibernate 4+JSP表单来上传文件,application.XML文件如果配置oracleLobHandler启动时就会报Bean property 'lobHandler' is not writable or has an invalid setter method错误,如果不配置的话在保存时会保org.springframework.orm.hibernate3.support.Bl

libcurl提交表单上传文件

不多说了,curl的http上传文件代码示例,有需要的可以参考.   int http_post_file(const char *url, const char *user, const char *pwd, const char *filename){    assert(url != NULL);    assert(user != NULL);    assert(pwd != NULL);    assert(filename != NULL);     int ret = -1;  

from表单上传文件-type=&amp;amp;quot;file&amp;amp;quot;文件上传在IPhone上调用相机

问题描述 type="file"文件上传在IPhone上调用相机 <input type="file" class="input" name="file" id="inpitFile"/> 上传文件在IPhone中调用的是相机而不是选择文件 解决方案 最后的解决方案:允许上传图片 解决方案二: http://blog.csdn.net/l30961171/article/details/4635

JavaScript设置表单上传时文件个数的方法_javascript技巧

本文实例讲述了JavaScript设置表单上传时文件个数的方法.分享给大家供大家参考.具体如下: 这是一个比较实用的功能,用JavaScript来设置表单上传文件时,根据需要生成上传表单,要几个生成几个,在网易邮箱.新浪邮箱的添加附件功能里都有这种功能,不过这一款没有删除表单的功能,如果输入的多了,只好重新来过啦 运行效果如下图所示: 具体代码如下: <title>JavaScript设置表单上传时的文件个数</title> <input type="button&

django1.8使用表单上传文件的实现方法_python

Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.许多成功的网站和APP都基于Django. Django是一个开放源代码的Web应用框架,由Python写成. 在django中我们可以采用Form类来处理表单,通过实例化处理和在模板中渲染,就可以轻松完成表单的需求,采用django的表单处理方式,能帮我们省去很多的工作,比如验证不能为空,或者要符合某种模式的输入才有效,这些处理起来非常方便,不用自己再单独写代码去验证表单的数据正确性,所以在开发中比较常用,

二进制-html表单上传file,php获取然后保存到数据库中,类型blob

问题描述 html表单上传file,php获取然后保存到数据库中,类型blob <form action="../php/teest.php" method="post"> <input type="file" name="pic"/> <input type="submit" value="提交"/> </form> php: requi