首页 > 解决方案 > 使用javascript保存上传的简历?

问题描述

我正在探索一个 API,但我被困在如何上传简历并使用 javascript/jQuery 保存它

这是API的链接,如果您想看一下。最终目标是将简历加载到一个对象中。我只关心加载上传的文件/简历

这是预期的输出:

let payload = {
    "fields": [{
        "key" : "resume", "value": {
            "encoded_data" : "aGVsbG8gd29ybGQ=",
            "file_name" : "resume.txt"
        }
    }],
    "source" : "new website"
}

这是HTML文件的结构

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="container" id="json-response">
  <div class="form-container">
    <div class="header">
      <h1>Application form</h1>
    </div>
    <form action="#" class="applicantForm">
      <div class="form-group">
        <div class="input-group">
          <label for="Resume">Resume <span>*</span></label>
          <input class="form-control" type="file" name="Resume">
        </div> 
      </div>
      <button class="submit" type="submit">Apply Now</button>
    </form>
  </div>
</div>

这是到目前为止的javascript:

$(document).ready(function() {    
    const ApplyOpeningPayloadBuilder = function() {
        let payload = {
            "fields": [],
            "source" : "new website"
        };
        return {
            withKeyValue: function(key, value) {
                let param = {};
                param.key = key;
                param.value = value;
                payload.fields.push(param);
                return this;
            },
            withFile: function(key, encoded_data, filename) {
                let value = {};
                value.encoded_data = encoded_data;
                value.file_name = filename;
                this.withKeyValue(key, value);
                return this;
            },
            build: function() {
                return payload;
            }
        }
    }

    let encoded_file = "aGVsbG8gd29ybGQ=";
    $('.applicantForm').on('submit', function(e) {
        e.preventDefault();
        let apply_for_an_opening_payload_builder = new ApplyOpeningPayloadBuilder();
        apply_for_an_opening_payload_builder.withFile("resume", encoded_file, this.value);
        let payload = apply_for_an_opening_payload_builder.build();
        console.log("Log uploaded resume:", payload);
   });
}) 

标签: javascriptjquery

解决方案


推荐阅读