javascript - 从 Dropzone 获取上传的文件

标签 javascript angularjs asp.net-web-api angularjs-directive dropzone.js

我有一个 Web API 方法来上传文件并返回包含文件路径的 FileResult 对象。如何获取dropzone中上传文件的文件路径(如何从Web API方法获取响应)?

我的拖放区:

module.directive("dzDirective", [
    'apiAttachment', function(apiAttachment) {
        return {
            restrict: "A",
            link: function(scope, iElement, iAttrs, controller) {
                iElement.dropzone({
                    url:"/api/1/FileTransfer",
                    uploadMultiple: false,
                    init: function() {
                        var myDropzone = this;
                        myDropzone.on("complete", function (file) {
                            DoSomething();
                        });
                    }
                });
            }
        };
    }
]);

我的Web Api方法:

[Route("api/1/FileTransfer")]
    public async Task<FileResult> Post()
    {
        if (!Request.Content.IsMimeMultipartContent("form-data"))
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType));
        }

        var storageFactory = new StorageFactory();
        var streamProvider = new StorageProvider(storageFactory.Create(storage, tempContainer));
        await Request.Content.ReadAsMultipartAsync(streamProvider);
        return new FileResult
        {
            FilePaths = streamProvider.Files
        };
    }

文件结果模型

public class FileResult
{
    public IEnumerable<string> FilePaths { get; set; }
    public string Submitter { get; set; }
}

谢谢!

最佳答案

只需将此代码段添加到您的 dropzone 初始值设定项

 Dropzone.options.formUpload = {
    init: function() {
        this.on("success", function(data) {
            var response = $.parseJSON(data.xhr.response);
        });
    }
}

关于javascript - 从 Dropzone 获取上传的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22942106/

相关文章:

javascript - Typescript 正则表达式扩展方法

javascript - 使用 JavaScript 高效地添加/删除当前 URL 中的目录

javascript - 带 URL 参数的 htaccess 重定向规则

javascript - AngularJS $ 注入(inject)器 :unpr issue with Angular Bootstrap modal

asp.net-web-api - 如何使用OWIN自托管的Web API来提供index.html

javascript - 向 vue-select 添加新标签

javascript - 仅在通过 $http 加载数据后, Angular 应用程序中的初始化指令

javascript - 如何使用 $transitions?

c# - 如何查找 OData edm 模型类型到 clr 类型的映射?

c# - ASP Web API 帮助页面 - 从 XML <see> 标记链接到类