标签: flow-js

flow.js点击上传文件

希望有人可以帮助解决这个问题.

基本上,我们使用ng-flow https://github.com/flowjs/ng-flow来允许拖放上传项目.我们也在使用MVC 4.

所有似乎都应该工作,但是,我们想定制这个,所以

  1. 项目被拖入上传框并存储在范围内(就像现在一样)
  2. 在单击按钮之前,不会物理上载项目

到目前为止我们尝试了什么?: -

在配置中,我们已禁用目标,以便它不会立即上载

.config(['flowFactoryProvider', function (flowFactoryProvider) {
flowFactoryProvider.defaults = {
  target: '',
  permanentErrors: [500, 501],
  maxChunkRetries: 1,
  chunkRetryInterval: 5000,
  simultaneousUploads: 1
};
Run Code Online (Sandbox Code Playgroud)

在实际页面上,我们创建了一个按钮,其中ng-click将通过flow.files

<input type="button" value="Click Me" ng-click="uploadme($flow.files)">
Run Code Online (Sandbox Code Playgroud)

在控制器中,我们有函数uploadme,它接受流作为参数.循环遍历此参数并将每个"文件"发布到上传控制器

$scope.uploadme= function (flows)
{
    angular.forEach(flows, function (flow) {
        var fd = new FormData();
        fd.append("file", flow);
        $http.post("upload", fd, {
            withCredentials: true,
            headers: {'Content-Type': undefined },
            transformRequest: angular.identity
        })
    });

}
Run Code Online (Sandbox Code Playgroud)

MVC控制器,'上传'.但是,这个被调用,文件始终为null

public ActionResult upload(HttpPostedFileBase file)
    {
        if (file.ContentLength > 0)
        {
            var fileName = …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc angularjs flow-js

5
推荐指数
1
解决办法
1万
查看次数

禁用分块传输流程

我正在使用ng-flow指令将文件上传到服务器.有没有办法可以使用普通上传而不是ng-flow模块中使用的分块上传?

angularjs flow-js ng-flow

3
推荐指数
1
解决办法
1422
查看次数

使用ng-flow上传到gae blobstore的文件总是命名为'blob'

我尝试创建一个用于将图像上传到Google App Engine blobstore的页面.我正在使用angularjs和ng-flow来实现这一点.

上传部分似乎工作正常,除了所有blob都存储为'application/octet-stream'并命名为'blob'.如何让blobstore识别文件名和内容类型?

这是我用来上传文件的代码.

在FlowEventsCtrl里面:

$scope.$on('flow::filesSubmitted', function (event, $flow, files) {
            $http.get('/files/upload/create').then(function (resp) {
                $flow.opts.target = resp.data.url;
                $flow.upload();
            });
        });
Run Code Online (Sandbox Code Playgroud)

在view.html里面:

<div flow-init="{testChunks:false, singleFile:true}" 
     ng-controller="FlowEventsCtrl">
    <div class="panel">
        <span flow-btn>Upload File</span>
    </div>
    <div class="show-files">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)

服务器端是在blobstore文档中指定.

谢谢

python google-app-engine file-upload angularjs flow-js

1
推荐指数
1
解决办法
1609
查看次数

无法传播对象文字,因为 Flow 无法确定对象文字的类型

以下(简化)代码

type Category = {
    id: string,
    name: string,
};

type Option = {
    id: string,
    name: string,
    isSelected: boolean,
};

const options = categories.map((c: Category): Option => ({
 isSelected: true,
 ...c,
}));
Run Code Online (Sandbox Code Playgroud)

产生错误:

Flow:无法传播对象文字,因为 Flow 无法确定对象文字 [1] 的类型。Category[2] 是不准确的,因此它可能包含isSelectedisSelected对象字面量 [1] 中的定义冲突的类型。尝试使Category[2] 精确。

我错过了什么?

javascript flow-js

1
推荐指数
1
解决办法
1077
查看次数