我正在尝试在 grails 中上传文件,然后处理从上传返回的 json 响应,但我没有取得多大成功。我的观点如下:
<script type="text/javascript">
function addData(e) {
alert('adding data');
}
</script>
<g:form name="upload-form" url="[controller: 'dataset', action:'handleUpload']"
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="addData"></iframe>
在我的控制器中,我有
def handleUpload() {
def file = request.getFile('myFile')
def result
// do some fileprocessing to create the result
render results as JSON
}
但是当我提交表单时,浏览器只会提示我下载 JSON 响应。我也尝试过使用 formRemote,但 request.getFile 似乎对 formRemote 无效。
我需要做什么才能addData
使用 json 响应调用该方法?