jsp上传文件问题

昨日凡阳 2012-01-17 02:28:54
我使用spring 3想实现文件上传,现在有一点问题:
我想实现如下图的效果,点击上传按钮,文件没有真正上传,而是在下面的表格中显示出来。当点击新增的时候,一并上传资料。这个要如何实现?

...全文
359 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnjobe 2012-02-03
  • 打赏
  • 举报
回复
可以这样子:第一次显示只提交上传的那个form,第二次点击新增的时候,使用js将两个表单提交同时提交,在提交时加一个隐含的id,保证两个form的对应关系。

第二种方案:第一次显示在上传文件后不将文件删除,而是在保证文件名唯一的情况下返回文件的全路径,放在上面页面的一个隐含域中,第二次提交只提交上面的form即可(把下面form的一些字段收集到上面的form中)。
wenjie4892543 2012-02-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 abstruct 的回复:]

这个恐怕有些难度,因为等你之后提交的时候,你无法获取到这些文件的输入流了。这是个问题。建议先放到服务器的临时文件存放区,提交的时候转移到正式区域
[/Quote]


up
ryanhuang2004 2012-01-31
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 iisgirl 的回复:]

引用 1 楼 ryanhuang2004 的回复:

试试这个, 在上载档案那个输入框加入onchange事件, 每次值更改以后用js代码生成一个type为file的input输入框, 值为上载档案输入框的值, 然后放入到上面那个form中, 点击提交的时候提交上面的form.
java代码中获取参数数组.


我目前遇到的困難是,如何局部刷新,不是如何上傳。

你們可能沒有真正……
[/Quote]
我这样理解正确么? 就是你要在下面那个表格选择文件后直接上传到服务器. 提交以后上面那个表格不刷新, 只刷新下面那个列表对么? 这样子的话是不是用iframe把下面的框起来就行了?
昨日凡阳 2012-01-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ryanhuang2004 的回复:]

试试这个, 在上载档案那个输入框加入onchange事件, 每次值更改以后用js代码生成一个type为file的input输入框, 值为上载档案输入框的值, 然后放入到上面那个form中, 点击提交的时候提交上面的form.
java代码中获取参数数组.
[/Quote]

我目前遇到的困難是,如何局部刷新,不是如何上傳。

你們可能沒有真正理解我的問題。

我上面那個畫面其實是兩部分,上傳畫面是include到上面的畫面中的。上面一個form,下面一個form。現在的問題是,在上傳的form中點擊上傳,要進入spring controller,上傳文件後,更新列表,只刷新上傳畫面的列表這部分,上面的畫面不能刷新,一刷新,別人填寫的資料都沒有了。我的關鍵點就在這,別給我說如何上傳。我用的jquery,如果用jquery提交表單,類似與$.get這種方式提交,那麽文件流是無法傳遞給controller的。
coooliang 2012-01-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qihigh 的回复:]

二楼的方法可行,我是这么干的。
在浏览后边添加个按钮 - 添加到上传列表,点击之后,将当前的input type=file 隐藏并在原来位置生成一个新的,大体就这个思路
[/Quote]

对,这个可行。
昨日凡阳 2012-01-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 h522258126 的回复:]

2楼可行~输出流 逐行判断截取,然后显示出就ok
[/Quote]

我晕,你到底会不会啊。不懂别学着比人乱说。
H522258126 2012-01-20
  • 打赏
  • 举报
回复
2楼可行~输出流 逐行判断截取,然后显示出就ok
昨日凡阳 2012-01-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jianlajidexiaohuo 的回复:]

提交form表单嘛!!!就像你说的,先显示,不提交,等真正提交时全部提交不就完了,还有什么吗?!!!
[/Quote]

對啊,就是如何實現“先顯示,再提交”
「已注销」 2012-01-19
  • 打赏
  • 举报
回复
提交form表单嘛!!!就像你说的,先显示,不提交,等真正提交时全部提交不就完了,还有什么吗?!!!
昨日凡阳 2012-01-19
  • 打赏
  • 举报
回复
沒人會嗎?
五哥 2012-01-18
  • 打赏
  • 举报
回复
先上传了 ,如果没有点新增,那时候在到服务器删除掉嘛
昨日凡阳 2012-01-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 happyking999 的回复:]

文件还是要上传到服务器吧,如果你想在下面的表格中删除它,直接将表格中那一行删除就行了,服务器中的文件还是存在的,我以前就是这么干的,有点偷懒,嘿嘿。楼主用的都是繁体字啊,难道是台资企业?
[/Quote]

既然用戶已經刪除了文件,服務器肯定不應該再有該文件了。
對,是台資企業。
請大家看看吧。
happyking999 2012-01-18
  • 打赏
  • 举报
回复
文件还是要上传到服务器吧,如果你想在下面的表格中删除它,直接将表格中那一行删除就行了,服务器中的文件还是存在的,我以前就是这么干的,有点偷懒,嘿嘿。楼主用的都是繁体字啊,难道是台资企业?
昨日凡阳 2012-01-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ryanhuang2004 的回复:]

试试这个, 在上载档案那个输入框加入onchange事件, 每次值更改以后用js代码生成一个type为file的input输入框, 值为上载档案输入框的值, 然后放入到上面那个form中, 点击提交的时候提交上面的form.
java代码中获取参数数组.
[/Quote]


能說清楚點嗎?
qihigh 2012-01-18
  • 打赏
  • 举报
回复
二楼的方法可行,我是这么干的。
在浏览后边添加个按钮 - 添加到上传列表,点击之后,将当前的input type=file 隐藏并在原来位置生成一个新的,大体就这个思路
昨日凡阳 2012-01-18
  • 打赏
  • 举报
回复
沒人遇到過類似問題嗎?
孔avaj 2012-01-17
  • 打赏
  • 举报
回复
jquery.uploadify这个插件已经实现楼主要求的功能,楼主可以用这个插件,就不用自己写了
安特矮油 2012-01-17
  • 打赏
  • 举报
回复
这个恐怕有些难度,因为等你之后提交的时候,你无法获取到这些文件的输入流了。这是个问题。建议先放到服务器的临时文件存放区,提交的时候转移到正式区域
ryanhuang2004 2012-01-17
  • 打赏
  • 举报
回复
试试这个, 在上载档案那个输入框加入onchange事件, 每次值更改以后用js代码生成一个type为file的input输入框, 值为上载档案输入框的值, 然后放入到上面那个form中, 点击提交的时候提交上面的form.
java代码中获取参数数组.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧