AlpacaJS - 如何访问Handlebars文件字段中上传的文件

时间:2017-04-17 19:42:29

标签: handlebars.js alpacajs

我有一个包含以下超级基本文件字段的表单:

架构 -

"file_upload": {
        "type": "string"
 }

选项 -

    "file_upload": {
            "type": "file"
    }

我想以某种方式访问​​上传的文件,尤其是通过Handlebars.js。

常规字段,例如"file_checkbox"可以使用{{file_checkbox}}在手把中呈现,但我可以找出如何访问该文件。

使用基本的javascript(document.getElementById('fieldId').files),我可以看到该文件已按预期上传。

但是,尝试获取羊驼形式($.alpaca($("#formDiv")).getValue())的值会从文件字段中生成常规字段(即file_checkbox)和的数据。

当我提交羊驼毛形式时,所有其他数据都已正确保存,但文件字段中没有任何内容(甚至没有空/零值的字段名称)!

我花了很多时间搜索并且没有在羊驼网站,Github问题或堆栈溢出中找到任何东西!这是我的第一个问题,如果我能提供任何其他信息,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用羊驼是正常的,表单数据对象中没有您的文件输入集的数据,您应该使用函数selectionHandler来设置所选的文件(您可以使用File或Base64数据)来表单数据,如下所示:

"file-upload": {
    "type": "file",
    "selectionHandler": function(files, data) {
       // files for multiple or use files[0] to get only one file
       // and if you want to use base64 data you could use data 
       this.data = files;
    }
 }

此处为fiddle