@@ -36,6 +36,7 @@ def __init__(self, name="", data=None, mime_type=None):
3636 self .key = None
3737 self .id = None
3838 self ._url = None
39+ self ._successful_url = None
3940 self ._acl = None
4041 self .current_user = leancloud .User .get_current ()
4142 self .timeout = 30
@@ -137,7 +138,7 @@ def name(self):
137138
138139 @property
139140 def url (self ):
140- return self ._url
141+ return self ._successful_url
141142
142143 @property
143144 def mime_type (self ):
@@ -162,7 +163,7 @@ def metadata(self):
162163 def get_thumbnail_url (
163164 self , width , height , quality = 100 , scale_to_fit = True , fmt = "png"
164165 ):
165- if not self ._url :
166+ if not self .url :
166167 raise ValueError ("invalid url" )
167168
168169 if width < 0 or height < 0 :
@@ -226,6 +227,7 @@ def _save_external(self):
226227 response = client .post ("/files" .format (self ._name ), data )
227228 content = response .json ()
228229 self .id = content ["objectId" ]
230+ self ._successful_url = self ._url
229231
230232 def _save_to_qcloud (self , token , upload_url ):
231233 headers = {
@@ -286,6 +288,7 @@ def _update_data(self, server_data):
286288 self ._name = server_data .get ("name" )
287289 if "url" in server_data :
288290 self ._url = server_data .get ("url" )
291+ self ._successful_url = self ._url
289292 if "mime_type" in server_data :
290293 self ._mime_type = server_data ["mime_type" ]
291294 if "metaData" in server_data :
0 commit comments