[Hotfix] File upload fix (#5254)
* append hash if same filename found while uploading through socketio * pass file size * upload after filename change
This commit is contained in:
parent
d0f3b9b6e6
commit
577ce03fd8
2 changed files with 37 additions and 18 deletions
|
|
@ -296,26 +296,38 @@ frappe.upload = {
|
|||
if (opts.no_socketio || frappe.flags.no_socketio || file_not_big_enough) {
|
||||
upload_with_filedata();
|
||||
return;
|
||||
} else {
|
||||
args.file_size = fileobj.size;
|
||||
frappe.call({
|
||||
method: 'frappe.utils.file_manager.validate_filename',
|
||||
args: {"filename": args.filename},
|
||||
callback: function(r) {
|
||||
args.filename = r.message;
|
||||
upload_through_socketio();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
frappe.socketio.uploader.start({
|
||||
file: fileobj,
|
||||
filename: args.filename,
|
||||
is_private: args.is_private,
|
||||
fallback: () => {
|
||||
// if fails, use old filereader
|
||||
upload_with_filedata();
|
||||
},
|
||||
callback: (data) => {
|
||||
args.file_url = data.file_url;
|
||||
frappe.upload._upload_file(fileobj, args, opts);
|
||||
},
|
||||
on_progress: (percent_complete) => {
|
||||
let increment = (flt(percent_complete) / frappe.upload.total_files);
|
||||
frappe.show_progress(__('Uploading'),
|
||||
start_complete + increment);
|
||||
}
|
||||
});
|
||||
var upload_through_socketio = function() {
|
||||
frappe.socketio.uploader.start({
|
||||
file: fileobj,
|
||||
filename: args.filename,
|
||||
is_private: args.is_private,
|
||||
fallback: () => {
|
||||
// if fails, use old filereader
|
||||
upload_with_filedata();
|
||||
},
|
||||
callback: (data) => {
|
||||
args.file_url = data.file_url;
|
||||
frappe.upload._upload_file(fileobj, args, opts);
|
||||
},
|
||||
on_progress: (percent_complete) => {
|
||||
let increment = (flt(percent_complete) / frappe.upload.total_files);
|
||||
frappe.show_progress(__('Uploading'),
|
||||
start_complete + increment);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
upload_to_server: function(file, args, opts) {
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ def save_url(file_url, filename, dt, dn, folder, is_private, df=None):
|
|||
# return None, None
|
||||
|
||||
file_url = unquote(file_url)
|
||||
file_size = frappe.form_dict.file_size
|
||||
|
||||
f = frappe.get_doc({
|
||||
"doctype": "File",
|
||||
|
|
@ -93,6 +94,7 @@ def save_url(file_url, filename, dt, dn, folder, is_private, df=None):
|
|||
"attached_to_name": dn,
|
||||
"attached_to_field": df,
|
||||
"folder": folder,
|
||||
"file_size": file_size,
|
||||
"is_private": is_private
|
||||
})
|
||||
f.flags.ignore_permissions = True
|
||||
|
|
@ -392,3 +394,8 @@ def get_random_filename(extn=None, content_type=None):
|
|||
extn = mimetypes.guess_extension(content_type)
|
||||
|
||||
return random_string(7) + (extn or "")
|
||||
|
||||
@frappe.whitelist()
|
||||
def validate_filename(filename):
|
||||
fname = get_file_name(filename, hashlib.md5(filename).hexdigest()[-6:])
|
||||
return fname
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue