6

我正在使用使用大量 ajax 的 grails 创建一个 web 应用程序。我想使用 ajax 实现文件上传。我不知道如何使用 ajax 进行文件上传。我的示例 GSP 代码是:

<!-- code for file upload form-->
<div id="updateArea">

</div>

我试过了。上传后我想用结果更新“updateArea”。结果我打算显示上传文件的详细信息。

4

2 回答 2

3

通过 Ajax 上传文件是不可能的。您仍然可以使用隐藏的 iframe 在后台上传文件并评估响应(然后在 iframe 内)或在上传完成后触发另一个 ajax 调用。

<g:form name="upload-form" action="upload" method="post" enctype="multipart/form-data" target="hidden-upload-frame">
    File: <input type="file" name="myFile" />
    <button type="submit">Upload</button>
</g:form>

<iframe id="hidden-upload-frame" name="hidden-upload-frame" style="display: none" onload="onUploadComplete">
</iframe>

<script type="text/javascript">
    function onUploadComplete(e) {
        // Handle upload complete
        alert("upload complete");
        // Evaluate iframe content or fire another ajax call to get the details for the previously uploaded file
    }
</script>

另一种选择是使用基于 Flash 的上传机制(例如swfupload)而不是 iframe。

于 2009-03-05T09:06:18.247 回答
3

http://grails.org/plugin/ajax-uploader

于 2011-02-21T00:28:19.747 回答