如何使用Ejscript处理Appweb的文件上载

时间:2012-07-26 09:13:52

标签: web-services file-upload upload serverside-javascript ejs

我的网络应用程序部署在嵌入式Linux上,我使用AppWeb作为网络服务器。 我使用了Appweb 3.3.2和Ejscript 1.1.2

现在,我想通过网络浏览器将文件上传到服务器。在Ejscript的文档(http://www.ejscript.org/products/ejs/doc-1/api/ejscript/index.html)中,我可以使用Request.files来获取上传文件的缓冲区。

但是当我使用Request.files时,它有一个错误对象NULL

我的简单页面上传了html:

<html>
    <head>
        <title>Time Attendance Web Control</title>
    </head>
    <body>
        <form method="post" enctype="multipart/form-data" action="upFile.ejs">
            Database to upload: <input type="file" name="upfile">
            <br>
            <input type="submit" value="Upload">
        </form>
    </body>
</html>

要处理的ejscript页面: upFile.ejs

<%
    var rq = new Request();
    write(rq.files['upfile'].size);  // I just write simple code to debug
%>

这是我得到的错误:

Error rendering: "upFile.ejs".

Object reference is null
Stack:
 [00] upFile.es, _Solo_upFileView.render, line 10 -> write(rq.files['upfile'].size);  // I just write simple code to debug
 [01] script, Controller.renderView, line 0 

任何人帮助我,PLZ ...... 谁可以给我一个示例ejscript页面来保存文件上传到服务器...

谢谢,

Tidus Le

1 个答案:

答案 0 :(得分:1)

您不应该创建自己的Request对象。这是为您创建的,可以在“请求”变量中访问。

你可以这样做:

写(request.files.upfile.size)

我还建议您升级到Appweb 4和Ejscript 2.更加灵活。