我想为用户提供一个她重新进入文件上传页面时先前选择的文件。我的方法是将文件保留为session.lastUpdate.file
下的Grails 2.5.6会话中的CommonsMultipartFile,然后从那里重新加载。我已经在用于文件对话框的文本框中呈现了文件名。但是在提交时,我被告知没有选择文件。当前代码如下(摘录):
<!-- _uploadFile.gsp -->
<g:uploadForm action="uploadFile">
<ul class="list-group content-list">
<li class="list-group-item">
<div class="input-group">
<span class="input-group-addon">Datei</span>
<g:if test="session.lastUpdate?.file">
<span class="form-control" id="uploadFileLabel">${session.lastUpdate?.file.originalFilename}</span>
</g:if>
<g:else>
<span class="form-control" id="uploadFileLabel">No file selected</span>
</g:else>
</div>
</li>
</ul>
<ul class="list-group content-list">
<li class="list-group-item">
<label class="btn btn-link btn-file">
<input type="file" name="uploadFile" style="display: none;"/>Choose a file
</label>
<input type="submit" value="Choose a file" class="btn btn-success" />
<script>
jQuery(document).on('change', ':file', function() {
var input = $(this),
numFiles = input.get(0).files ? input.get(0).files.length : 1,
label = input.val().replace(/\\/g, '/').replace(/.*\//, '');
jQuery('#uploadFileLabel').text(label);
});
</script>
</li>
</ul>
</g:uploadForm>