文件上传完成后如何处理对文件的任何操作?
上传后我需要立即将上传的文件复制到远程服务器上,从远程服务器获取响应并将其放入数据库。
我曾尝试在 ModelAdmin 的 save_model 中这样做:
class MyAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
obj.answer = remote_upload(obj.file.path)
obj.save()
remote_upload 是自己写的函数,如果我直接运行,它会成功上传文件。但它在 save_model 中失败。obj.file.path 返回一个 MEDIA_PATH + 文件名,并且在 save_model 执行的那一刻看起来文件丢失了。
我应该如何以正确的方式复制文件?
附言。看起来有 FileUploadHandler.upload_complete(),但我不确定是否(以及如何)可以使用它。