1

这是我用于上传头像的 HTML 标记:

<div  style="padding: 10px;">
  <div class="text-center">
    <h4><kbd>Avatar Picture</kbd></h4>
  </div>
  <div class="thumbnail" ng-hide="obj.flow.files.length">
    <img src="Some url for none avatar picture."/>
  </div>
  <div class="thumbnail" ng-show="obj.flow.files.length">
    <img flow-img="obj.flow.files[0]"/>
  </div>
  <div class="text-center">
    <span class="btn btn-info" ng-hide="obj.flow.files.length" flow-btn
                              flow-attrs="{accept:'image/*'}">Select image</span>
    <span class="btn btn-info" ng-show="obj.flow.files.length" flow-btn
                              flow-attrs="{accept:'image/*'}">Change</span>
    <a href="#" class="btn btn-danger" ng-show="obj.flow.files.length"
       ng-click="obj.flow.cancel()">Remove</a>
  </div>
</div>

如果用户有头像(不发送请求),如何添加图像。我认为使用 $scope.$flow.addFile() 是个坏主意。

我的意思是如果用户有头像并且 obj.flow.files[0] 不应该为空,因为需要显示他的头像。

4

1 回答 1

0

如果您想在添加文件时停止流上传,请使用以下命令来防止此默认行为。您应该仍然可以访问 obj.flow.files[0] 中的文件,但它只会被临时存储(不会上传到服务器)。

$scope.$on('flow::fileAdded', function (event, $flow, flowFile) {
    event.preventDefault();
}

例如,要忽略大于某个文件大小的文件,我会这样做(否则,继续上传)。

$scope.$on('flow::fileAdded', function (event, $flow, flowFile) {

    if(flowFile.size > 5000000) {
        $scope.errorText = "Error: File too large.";
        //prevent file from uploading
        event.preventDefault();
    } else {
        // Upload file.
        $flow.upload(); 
    }
});

希望我正确理解了您的问题。

于 2015-05-06T16:23:59.210 回答