[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
Global site tag (gtag.js) - Google Analytics