请您先登录,才能继续操作

tapestry 5.06 多文件上传问题,请帮助。

hongyuzhe 2008-02-21
我想用FancyUpload实现图片批量上传。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">

<script type="text/javascript" src="${contextPath}/js/mootools.js"></script>
<script type="text/javascript" src="${contextPath}/js/Base.js"></script>
<script type="text/javascript" src="${contextPath}/js/Uploader.js"></script>
<script type="text/javascript" src="${contextPath}/js/FancyUpload.js"></script>

</html>

这样导入 js 文件总是提示,这些js文件的语法错误。可是用MyEclipse生成的Html头
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<script type="text/javascript" src="js/mootools-release-1.11.js"></script>
<script type="text/javascript" src="js/Swiff.Base.js"></script>
<script type="text/javascript" src="js/Swiff.Uploader.js"></script>
<script type="text/javascript" src="js/FancyUpload.js"></script>
</html>
就可以,工作就正常了。

请问这个问题怎么解决。还有tapestry5.06自身有没有支持多文件上传的组件呢。

现在要写一个批量上传的功能,尤其是在tapestry里,好吃力呀,请大家看一下这是什么问题,如果有在tapestry5.06 里实现批量上传的代码,请给一份,感谢。
hongyuzhe 2008-02-22
我用 FancyUpload 在 tapestry 5.06 中实现多文件批量上传的痛苦经历,本人第一份工作就是现在的工作,就是做 tapestry ,所以我是个初学者,很初级的菜鸟。

1、在网上找到了 FancyUpload ,实现对文件上传的例子,好不容易在jsp中,自己作出来了。然后慢慢的加css。做的还算看的过去。
2、在tapestry里去实现FancyUpload ,出现了,自己现在都不能确定的问题,就是上面的html头的问题。
3、后来发现,可以在Firefox上可以,ie仍然提示错误,所以就变成了。 html头
+IE的问题。(自己不知道这些是什么问题,姑且自己认为是吧)。
4、在 Firefox 运行可以后,commons-fileupload,commons-beanutils,写文件的时候。发现原本在jsp中可以的代码有不灵了。
5、跑去看 tapestry MultipartDecoderImpl 类,结果发现MultipartDecoderImpl 类的实现也是用了 commons-fileupload jar包。
6、在到网上找资料,"干扁四季豆" 的 一片文章,“终于解决一个宿日恩怨---关于Tapestry的动态多文件上传解决办法.html”,让我明白经过tapestry过滤后的request,在用fileupload解析的时候,就得不到上传文件了。
7、高手说了不可以(干扁四季豆),我就更不可以了。这些东西都是初次接触,我真的没有什么办法了,再过两天老板给的任务期限就到了。
8、到时候只有晕的份了。真的不想在想什么办法整这个东西。
tapestry 2008-02-22
直接试用tapestry的upload模块应该就可以吧,在一个form里多个upload就行,
<t:form>
        <t:errors/>
        <input t:type="upload" t:id="file1" validate="required"/>
<input t:type="upload" t:id="file2" validate="required"/>
<input t:type="upload" t:id="file3" validate="required"/>
        <br/>
        <input type="submit" value="Upload"/>
    </t:form>
我没测试,你试一下,或者我理解错误,你必须用FancyUpload么,如果必须用,那直接在tapestry中取request,然后跟servlet取得上传文件一样处理就可以了,原理搞清楚再自己测试下。
lococode 2008-04-14
[/u][u][/u][u][/u][size=medium][/size][color=brown][/color][align=right][/align]
  1. [u][/u][u]
引用
[u][/u]
hongyuzhe 2008-06-16
lococode 2008-04-14  你写的是什么呀。
我之前发现用 fileupload 对http头解析的时候得不到上传文件,现在觉得上传文件在tapestry的http请求头信息里得不到。也正常

<input name="t:formdata" type="hidden" value="H4sIAAAAAAAAAJXOMU4CURQF0AeJNFqZuAMhVn8aK6xoqIgxTqjNm89l+Gbm/5/33ghuhhUYN0FB5x5cgK2VhRBWQHuTe+/5+KGL9R2N1AsQi04hq9SieEYd1CBl5z1Ux9pVbTAVGiepHWf2KzjjDDV5dz4JmlC5ihVuUh0y9jYNaBa3JazLE28hxeF8d/l9s//rU29GVy9o0CLaI7cwup698hsXDce6KE1CrB822Whw+j1LOD1T+CTpOFAe+6oH50m7+1zcL3+3X32iTf4HWFrAHycBAAA=">

这个写就是form表单的值,以隐藏域的形式出现。这好像类似asp.net,它也有这样一个隐藏域,作用也是一样的。

不知道我这样理解对不对。俺初中毕业。
Global site tag (gtag.js) - Google Analytics