我的控制器内有以下片段:
$scope.onFileSelect = function($files) {
for(var i = 0; i < $files.length; i++) {
var file = $files[i];
$scope.upload = $upload.upload({
url: '/smart2/api/files/profile',
file: file
}).success(function(data) {
$scope.photo = data;
});
}
}
当用户加载页面时,他们可以点击模式上传个人资料照片。在该模式中,它显示了当前的个人资料照片和上传输入。
我已将ng-src
附加到图片标记上,这一切都正常。但是,当用户上传新的个人资料照片时,在上传通话的success
功能中,我设置$scope.photo
(在ng-src
中引用)。
我知道我需要告知Angular它已经改变但不知道如何改变。来自HTTP调用的返回数据将始终与ng-src
或$scope.photo
中已有的数据相同,但会更改。
个人资料照片的名称是用户的名称,因此即使他们上传新照片,文件名或来源仍保持不变,但实际文件不同。
问题是,当我在成功功能中设置$scope.photo
时,照片没有更新。问题是什么?
答案 0 :(得分:0)
您的意思是src
指向的内容发生了变化,但网址是否保持不变并且您想强制重新读取该网址?如果是这样,那么您可以向URL添加tmestamp并更新时间戳以使其更改URL。
您还可以使用图片而不是网址将src
设置为base64编码的字符串。