Javascript 使用Ember插件Ember plupload上载照片

Javascript 使用Ember插件Ember plupload上载照片,javascript,ajax,ember.js,plupload,ic-ajax,Javascript,Ajax,Ember.js,Plupload,Ic Ajax,我已经使用ember plupload上载了图像。现在我已经为此编写了一个组件。我可以从我的机器上打开并选择图像。但是我不知道下一步该怎么做。我必须使用body参数{photo_file:image file}将post请求发送到我的服务器端点。我的代码如下 component.hbs {{#pl-uploader extensions="jpg jpeg png gif" for="upload-image" onfileadd="uploadImage" as |queue features

我已经使用ember plupload上载了图像。现在我已经为此编写了一个组件。我可以从我的机器上打开并选择图像。但是我不知道下一步该怎么做。我必须使用body参数{photo_file:image file}将post请求发送到我的服务器端点。我的代码如下

component.hbs

{{#pl-uploader extensions="jpg jpeg png gif" for="upload-image" onfileadd="uploadImage" as |queue features|}}
  <div class="dropzone" id={{dropzone.id}}>
    <a id="upload-image">Add an Image.</a>
  </div>
{{/pl-uploader}}
我能够获取文件名并对base64值进行编码。但不确定如何将请求发送到服务器端点

http://example.com/api/addphoto and it require body with parameter photo_file and choosed file.
我能够从postman应用程序中发出正确的请求。在请求正文中,我选择了文件选项,它直接为我提供了从中选择文件的选项。请求成功发出,当我选择图像并发送请求时,照片将添加到端点


我应该如何在我的应用程序中执行此操作?

您可以使用XMLHttpRequest

uploadImage:function(files){
        var file = files[0];
        var request = new XMLHttpRequest();
        request.open('post', "target url", true);
        var formData = new FormData();
        var fieldName = 'file';
        formData.append(fieldName, file);
        request.onreadystatechange = Ember.run.bind(this, function () {
            if (request.readyState === 4 && request.status !== 0) {
               //success
            }
        });

        request.send(formData);
    }
uploadImage:function(files){
        var file = files[0];
        var request = new XMLHttpRequest();
        request.open('post', "target url", true);
        var formData = new FormData();
        var fieldName = 'file';
        formData.append(fieldName, file);
        request.onreadystatechange = Ember.run.bind(this, function () {
            if (request.readyState === 4 && request.status !== 0) {
               //success
            }
        });

        request.send(formData);
    }