我这边是后端,编码用的python,现在在做一个app,
代码如下:
我本地测试,通过下面编码获取文件原名称是可以的,
但是前端那边通过手机端安卓上传文件,同样的代码获取到的原名称如:file_0842958E2FAC4598A8E55DF733CEC2CE.xls
不知道是不是经过什么处理了的;
求 帮我看看,是我这边通过其他方式 获取安卓上传文件的原名称吗,还是怎么解决
python代码如下!
【以下回答由 GPT 生成】
问题的关键在于前端通过安卓手机上传文件时,获取到的原始文件名并不是真正的原始名称,可能经过了一些处理。针对这个问题,可以尝试以下两种解决方法:
方法一:使用第三方库
可以使用werkzeug
库中的secure_filename
方法,该方法可以处理文件名,删除非法字符,并返回一个安全的文件名。安装werkzeug
库(如果未安装)后,可以按照以下步骤解决问题:
werkzeug
库:from werkzeug.utils import secure_filename
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
方法二:自定义处理逻辑
如果方法一不适用或不符合需求,可以自定义处理逻辑来解决问题。可以按照以下步骤进行处理:
re
库:import re
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
这两种方法都可以用来处理通过安卓手机上传的文件名,希望能解决你的问题。如果这两种方法都不适用,请提供更多的细节,我将尽力帮助你解决问题。