Session Grails:使用CommonsMultipartFile从会话进行预设文件上载

Session Grails:使用CommonsMultipartFile从会话进行预设文件上载,session,grails,file-upload,Session,Grails,File Upload,我想为用户提供一个以前在用户重新进入文件上传页面时选择的文件。我的方法是,在Grails2.5.6会话的session.lastUpdate.file下,将该文件作为CommonMultipartFile保存,然后从那里重新加载。我已经在用于文件对话框的文本框中呈现了文件名。但在提交时,我被告知没有选择任何文件。当前代码如下(摘录): 达蒂 ${session.lastUpdate?.file.originalFilename} 未选择任何文件 选择一个文件 jQuery(docu

我想为用户提供一个以前在用户重新进入文件上传页面时选择的文件。我的方法是,在Grails2.5.6会话的
session.lastUpdate.file
下,将该文件作为CommonMultipartFile保存,然后从那里重新加载。我已经在用于文件对话框的文本框中呈现了文件名。但在提交时,我被告知没有选择任何文件。当前代码如下(摘录):


  • 达蒂 ${session.lastUpdate?.file.originalFilename} 未选择任何文件
  • 选择一个文件 jQuery(document).on('change',':file',function(){ 变量输入=$(此), numFiles=input.get(0).files?input.get(0).files.length:1, label=input.val().replace(/\\/g,“/”).replace(/.\/,”); jQuery('#uploadFileLabel')。文本(标签); });

HTML和JavaScript不允许预先填充文件输入,因为这将是一个巨大的安全漏洞。您可以选择可能存在或不存在的文件路径,并在用户单击提交时上载它们。谢谢,@billjamesdev!这是有道理的。所以我将在控制器端处理它。
<!-- _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>