解析服务器:删除与用户关联的旧配置文件图像

问题描述 投票:0回答:1

我正在使用文件系统存储适配器将上载的文件保存在解析服务器上。在我的应用中,每个用户都可以拥有个人资料照片。当用户想要更改其照片时,应将旧照片从服务器中删除。但是旧的图像保持不变。一段时间后,它将导致填充服务器存储。这是我的代码:

public void update (Uri uri)
    {
        ParseUser user = ParseUser.getCurrentUser();
        if(uri!=null){
            InputStream iStream=getContentResolver().openInputStream(uri);
            byte[]image=Helper.getBytes(iStream);
            ParseFile file=new ParseFile("profile.png",image);
            file.saveInBackground();
            user.put("photo",file);
            user.saveInBackground();
        }
    }
java parse-platform parse-server parse-android-sdk
1个回答
0
投票

不幸的是,Android SDK没有删除文件的功能,但是您可以使用Cloud Code Functions或触发器来删除文件。这样的事情应该可以解决您的问题:

Parse.Cloud.beforeSave('_User', ({ original, object }) => {
  if (original.get('photo').url() !== object.get('photo').url()) {
    original.get('photo').destroy();
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.