<script type="text/x-red" data-template-name="base64"> <div class="form-row"> <label for="node-input-action"><i class="fa fa-dot-circle-o"></i> Action</label> <select style="width:70%" id="node-input-action"> <option value="">Convert Buffer <-> Base64</option> <option value="str">Encode as Base64</option> <option value="b64">Convert Base64 to String</option> </select> </div> <div class="form-row"> <label for="node-input-property"><i class="fa fa-ellipsis-h"></i> <span data-i18n="node-red:common.label.property"></span></label> <input type="text" id="node-input-property" style="width:70%;"/> </div> <div class="form-row"> <label for="node-input-name"><i class="fa fa-tag"></i> <span data-i18n="node-red:common.label.name"></span></label> <input type="text" id="node-input-name" data-i18n="[placeholder]node-red:common.label.name"> </div> </script> <script type="text/x-red" data-help-name="base64"> <p>A function that converts the chosen property (default <code>msg.payload</code>) to and from base64 format.</p> <p>If the input is a buffer it converts it to a Base64 encoded string.</p> <p>If the input is a Base64 string it converts it back to a binary buffer.</p> <p>You can also fix coding into base64, and base64 to buffer if required.</p> <p>Note: Using "Encode to Base64" will encode an already encoded string.</p> </script> <script type="text/javascript"> RED.nodes.registerType('base64',{ category: 'function', color:"#DEBD5C", defaults: { name: {value:""}, action: {value:""}, property: {value:"payload",required:true} }, inputs:1, outputs:1, icon: "parser-base64.png", label: function() { return this.name||"base64"; }, labelStyle: function() { return this.name?"node_label_italic":""; }, oneditprepare: function() { if (this.property === undefined) { $("#node-input-property").val("payload"); } $("#node-input-property").typedInput({default:'msg',types:['msg']}); } }); </script>