2017-04-17 73 views
0

我有以下的超基本的文件域的表单:AlpacaJS - 如何访问文件的字段上载文件中的手把

Schema-

"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问题或堆栈溢出!这是我的第一个问题,请让我知道我是否可以提供任何其他信息。

谢谢!

回答

0

欢迎Stakoverflow :)

这是正常的羊驼,不会有数据表单中的数据对象设置你的文件输入,您应该使用功能selectionHandler设置选择的文件(S)(您可以使用文件或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,我希望这有助于!

告诉我,如果你仍然有问题。

快乐编码!

+0

感谢您的快速评论vert3x!我也看到了有关FILE字段和此解决方案的问题。但是,在我的选项JSON中添加JS会使表单崩溃并使我无法保存。必须是我处理JSON的方式......另一个问题是如何使用Handlebars访问文件,但是如果您说我无法使用表单保存文件,那么可能无法完成,我会不得不坚持使用上传字段不幸。再次感谢! – Max