[Tapestry4] 关于Ajax提交客户端数据的问题
yangzy666
2007-08-30
一般情况下,如果要用Ajax提交一个TextFiled组件绑定的客户端输入的数据,我们只需JS就可以获取并提交,因为这是一个字符串数据,比较容易处理。
我的问题: 在一个Form表单中,我使用了一个Upload组件,用于上传文件。 <form jwcid="form0@Form" > <table> <tr> <td>选择文件</td> <td colspan="3"> <input jwcid="upload@Upload" file="ognl:uploadFile" type="file" name="yzwj" id="yzwj" /> </td> </tr> </table> </form> 如果按submit来提交的话,没有问题,但现在我必须用Ajax在后台提交所选择的文件。 请问我应该怎样才能提交这个Upload组件绑定的文件,或者有没有办法用Ajax来提交表单? |
|
koda
2007-08-30
这个问题应该和tapestry无关。AJAX不能够提交上传的文件。
因为javascript未能以二进制的方式打开本地文件。javascript这种功能限制就是处于安全起见 |
|
superaxis
2007-08-30
koda 写道 这个问题应该和tapestry无关。AJAX不能够提交上传的文件。
因为javascript未能以二进制的方式打开本地文件。javascript这种功能限制就是处于安全起见 正解 |
|
yangzy666
2007-08-30
我要上传的是个文本文件,想要在服务器端对这个文件进行解析,提取出一条条有用的字符数据。
既然不能用Ajax提交文件,那么就只能在客户端先对文件进行解析了,也就是说只能用JS来对文件进行解析,提取一条条字符数据,然后再让Ajax将这些数据提交了。 请问:JS能对文本文件进行解析吗?如果能,大致应怎样做,能给一些参考的代码吗? |
|
koda
2007-08-30
yangzy666 写道 我要上传的是个文本文件,想要在服务器端对这个文件进行解析,提取出一条条有用的字符数据。
既然不能用Ajax提交文件,那么就只能在客户端先对文件进行解析了,也就是说只能用JS来对文件进行解析,提取一条条字符数据,然后再让Ajax将这些数据提交了。 请问:JS能对文本文件进行解析吗?如果能,大致应怎样做,能给一些参考的代码吗? 不可以,js不能打开本地文件!!! |
|
yangzy666
2007-08-30
那么,除了直接提交表单的方法之外,就没有别的方法来上传文件了吗?或者在客户端有没有别的方法来解析文件呢?
|
|
koda
2007-08-30
yangzy666 写道 那么,除了直接提交表单的方法之外,就没有别的方法来上传文件了吗?或者在客户端有没有别的方法来解析文件呢?
html+javascript这种瘦客户端没有别的办法。否则只能使用富客户端技术:flash/activex等 |
|
superaxis
2007-08-30
koda 写道 yangzy666 写道 那么,除了直接提交表单的方法之外,就没有别的方法来上传文件了吗?或者在客户端有没有别的方法来解析文件呢?
html+javascript这种瘦客户端没有别的办法。否则只能使用富客户端技术:flash/activex等 我们曾经用了activex空间来处理的,能够很好预览。。。等功能,最后提交的方式的是把二进制文件转换为Base64编码来提交. Jun Tsai |
|
javaEye_good
2008-11-04
js能不能 序列化或 把基本类型 转换成二进制,然后base64 用ajax提交呢?
|
|
luoluomutou
2009-07-13
http://www.iteye.com/topic/81120
|