获取安卓上传的文件原名称

我这边是后端,编码用的python,现在在做一个app,
代码如下:
我本地测试,通过下面编码获取文件原名称是可以的,
但是前端那边通过手机端安卓上传文件,同样的代码获取到的原名称如:file_0842958E2FAC4598A8E55DF733CEC2CE.xls
不知道是不是经过什么处理了的;
求 帮我看看,是我这边通过其他方式 获取安卓上传文件的原名称吗,还是怎么解决
python代码如下!

img

【以下回答由 GPT 生成】

问题的关键在于前端通过安卓手机上传文件时,获取到的原始文件名并不是真正的原始名称,可能经过了一些处理。针对这个问题,可以尝试以下两种解决方法:

方法一:使用第三方库

可以使用werkzeug库中的secure_filename方法,该方法可以处理文件名,删除非法字符,并返回一个安全的文件名。安装werkzeug库(如果未安装)后,可以按照以下步骤解决问题:

  1. 导入werkzeug库:from werkzeug.utils import secure_filename
  2. 使用secure_filename方法处理文件名:filename = secure_filename(uploaded_file.filename) 在这里,uploaded_file是你从前端接收到的文件对象,通过filename变量保存处理后的文件名。

下面是具体的代码示例:

from werkzeug.utils import secure_filename

def get_original_filename(uploaded_file):
    filename = secure_filename(uploaded_file.filename)
    return filename

方法二:自定义处理逻辑

如果方法一不适用或不符合需求,可以自定义处理逻辑来解决问题。可以按照以下步骤进行处理:

  1. 导入re库:import re
  2. 使用正则表达式匹配文件名中的有效部分并提取:filename = re.sub(r'^.*\/', '', uploaded_file.filename) 在这里,uploaded_file是你从前端接收到的文件对象,通过filename变量保存处理后的文件名。

下面是具体的代码示例:

import re

def get_original_filename(uploaded_file):
    filename = re.sub(r'^.*\/', '', uploaded_file.filename)
    return filename

这两种方法都可以用来处理通过安卓手机上传的文件名,希望能解决你的问题。如果这两种方法都不适用,请提供更多的细节,我将尽力帮助你解决问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^