gpt4 book ai didi

python - 从二进制数据获取文件类型/扩展名

转载 作者:太空宇宙 更新时间:2023-11-04 05:03:19 28 4
gpt4 key购买 nike

File.py

file = fields.Binary('File')

@api.multi
def get_file(self):
if self.file:
xsl_file = base64.decodestring(self.file)
m = magic.open(magic.MAGIC_MIME)
print 'fffffffffffffff',m.file(xsl_file) //prints None
print 'fffffffffffffff',m.file(self.file) //prints None
print self.file //Prints binary string.


二进制字符串
     0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAAAAowADAP7 / CQAGAAAAAAAAAAAAAAABAAAACQAAAAAAAAAAEAAAAgAAAAEAAAD + ///// AAAAAAAAAAD ////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// //////////////////// 9 ////////// 7 /// 8EAAAABQAAAAYAAAAHAAAACAAAAP7 /// 8KAAAA / v ///////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// /////////////// 1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAA /////////////// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA //// 8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD + //// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP /////////////// wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7 /// 8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA //////////////// AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA / V /// wAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAD + //// //// IgAAAP7 + //// JQAAACYAAAAnAAAAKAAAAP7 /// 8qAAAA / v的////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ////////////////////////////////// 8JCBAAAAYFALsNzAcAAAAABgAAAOEAAgCwBMEAAgAAAOIAAABcAHAABAAAQ2FsYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEIAAgCwBGEBAgAAAMABAAA9AQIAAQCcAAIADgCvAQIAAAC8AQIAAAA9ABIAAAAAAABA ACA4AAAAAAABAN8DQAACAAAAjQACAAAAIgACAAAADgACAAEAtwECAAAA2gACAAAAMQAaAMgAAAD / f5ABAAAAAgEABQFBAHIAaQBhAGwAMQAaAMgAAAD / f5ABAAAAAAAABQFBAHIAaQBhAGwAMQAaAMgAAAD / f5ABAAAAAAAABQFBAHIAaQBhAGwAMQAaAMgAAAD / f5ABAAAAAAAABQFBAHIAaQBhAGwAMQAaAMgAAAD / f5ABAAAAAgAABQFBAHIAaQBhAGwAHgQMAKQABwAAR2VuZXJhbOAAFAAAAKQA9f8gAAAAAAAAAAAAAADAIOAAFAABAAAA9f8gAAD0AAAAAAAAAADAIOAAFAABAAAA9f8gAAD0AAAAAAAAAADAIOAAFAACAAAA9f8gAAD0AAAAAAAAAADAIOAAFAACAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAAAA9f8gAAD0AAAAAAAAAADAIOAAFAAAAKQAAQAgAAAAAAAAAAAAAADAIOAAFAABACsA9f8gAADwAAAAAAAAAADAIOAAFAABACkA9f8gAADwAAAAAAAAAADAIOAAFAABACwA9f8gAADwAAAAAAAAAADAIOAAFAABACoA9f8gAADwAAAAAAAAAADAIOAAFAABAAkA9f8gAADwAAAAAAAAAADAIOAAFAAAAKQAAQAgAAD4AAAAAAAAAADAIOAAFAAAAKQA AQAoAAD4AAAAAAAAAADAIOAAFAAFAKQAAQAgAAAIAAAAAAAAAADAIJMCBAAAgAD / kwIEABCAA / + TAgQAEYAG / 5MCBAASgAT / kwIEABOAB / + TAgQAFIAF / 2ABAgABAIUADwCWBQAAAAAHAFNoZWV0IDGMAAQAAQABAMEBCADBAQAAVI0BAOsAWgAPAADwUgAAAAAABvAYAAAAAAQAAAIAAAABAAAAAQAAAAEAAAABAAAAMwAL8BIAAAC / AAgACACBAQkAAAjAAUAAAAhAAB7xEAAAAA0AAAgMAAAIFwAACPcAABD8ANQACQAAAAkAAAACAABpZAwAAGRlZmF1bHRfY29kZQUAAGltYWdlIAAAX19leHBvcnRfXy5wcm9kdWN0X3RlbXBsYXRlXzE5NTAGAAAxMzAwMzAyAAAvaG9tZS9zaGFyL0Rvd25sb2Fkcy9ob21lZ3Jvd24tdG9tYXRvZXMtYmFza2V0LmpwZyAAAF9fZXhwb3J0X18ucHJvZHVjdF90ZW1wbGF0ZV8xOTU0BgAAMTMwMDQyIAAAL2hvbWUvc2hhci9Eb3dubG9hZHMvQ2Fycm90MS5qcGf / AAIACQBjCBUAYwgAAAAAAAAAAAAAFQAAAAAAAAACCgAAAAkIEAAABhAAuw3MBwAAAAAGAAAADAACAGQADwACAAEAEQACAAAAEAAIAPyp8dJNYlA / XwACAAEAgAAIAAAAAAAAAAAAJQIEAAAA / wCBAAIAwQQqAAIAAAArAAIAAACCAAIAAQAUAAcABAAAJkMmUBUABwAEAAAmQyZGgwACAAEAhAACAAAAJgAIADMzMzMzM9M / JwAIADMzMzMzM9M / KAAIAC3Ygi3YguM / KQAIAAZbsAVbsNc / oQAiAAkAZAABAAEAAQCDACwBLAGamZmZmZm5P5qZmZmZmbk / AQBVAAIACgB9AAwAAAABAEEfDwAAAAAAfQAMAAIAAgAuLw8AAAAAAH0ADAADAAABiAsPAAAA AAAAAg4AAAAAAAMAAAAAAAMAAAAIAhAAAAAAAAMA / wAAAAAAAAEPAAgCEAABAAAAAwA2AQAAAAAAAQ8ACAIQAAIAAAADADQBAAAAAAABDwD9AAoAAAAAABUAAAAAAP0ACgAAAAEAFQABAAAA / QAKAAAAAgAPAAIAAAD9AAoAAQAAABYAAwAAAP0ACgABAAEAFgAEAAAA / QAKAAEAAgAPAAUAAAD9AAoAAgAAABYABgAAAP0ACgACAAEAFgAHAAAA / QAKAAIAAgAXAAgAAADsAFAADwAC8EgAAAAQAAjwCAAAAAEAAAAABAAADwAD8DAAAAAPAATwKAAAAAEACfAQAAAAAAAAAAAAAAAAAAAAAAAAAAIACvAIAAAAAAQAAAUAAAA + AhIAtgYAAAAAQAAAAAAAAAAAAAAAHQAPAAMCAAIAAAABAAIAAgACAmcIFwBnCAAAAAAAAAAAAAACAAH ///// AAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAP7 / AwoAAP //// 8QCAIAAAAAAMAAAAAAAABGGwAAAE1pY3Jvc29mdCBFeGNlbCA5Ny1UYWJlbGxlAAYAAABCaWZmOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD + / wAAAQACAAAAAAAAAAAAAAAAAAAAAAABAAAA4IWf8vlPaBCrkQgAKyez2TAAAAAIAQAADQAAAAEAAABwAAAAAgAAAHgAAAADAAAAhAAAAAQAAACQAAAABQAAAJwAAAAGAAAAqAAAAAcAAAC0AAAACAAAAMAAAAAJAAAAzAAAAAoAAADYAAAACwAAAOQAAAAMAAAA 8AAAAA0AAAD8AAAAAgAAAOn9AAAeAAAAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAAAAQAAAAAAAAAeAAAAAgAAADEAAABAAAAAgFXIIAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAu0 + joyf + 0gEAAAAAAAAAAP7 / AAABAAIAAAAAAAAAAAAAAAAAAAAAAAIAAAAC1c3VnC4bEJOXCAArLPmuRAAAAAXVzdWcLhsQk5cIACss + a5cAAAAGAAAAAEAAAABAAAAEAAAAAIAAADp / QAAGAAAAAEAAAABAAAAEAAAAAIAAADp / QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSAG8AbwB0ACAARQBuAHQAcgB5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFgAFAP ////////// AQAAABAIAgAAAAAAwAAAAAAAAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAADACgAAAAAAAFcA bwByAGsAYgBvAG8AawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAIAAgAAAAQAAAD ///// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAIAAAAAAAAAQBDAG8AbQBwAE8AYgBqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAgADAAAA ////////// 8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAASQAAAAAAAAABAE8AbABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgACAP /////////////// wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAUAAAAAAAAAAUAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAIA ///// wUAAAD ///// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAAAADgBAAAAAAAABQBEAG8AYwB1AG0AZQBuAHQAUwB1AG0AbQBhAHIAeQBJAG4AZgBvAHIAbQBhAHQAaQBvAG4AAAAAAAAAAAAAADgAAgD //// //////////// 8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP AAAAAP7 /// 8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA //////////////// AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA / v /// wAAAAAAAAAAAAA'

我的问题是,如何从此二进制字符串中找到文件扩展名?

最佳答案

终于找到了解决方案:

* .py

file = fields.Binary('File')
file_fname = fields.Char(string='File name')


* .xml

<field widget="binary" height="64" name="file" filename="file_fname" required="1"/>
<field name="file_fname" invisible="1" />


文件名将保存在 file_fname字段中。

并使用 splitext方法从文件名中提取扩展名。

@api.onchange('file')
@api.depends('file','file_fname')
def check_file_type(self):
if self.file:
filename,filetype = os.path.splitext(self.file_fname)
if filetype not in ['.xls','.csv']:
raise UserError(_('Invalid file type!!!\n Choose excel or csv file format.'))

关于python - 从二进制数据获取文件类型/扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45136896/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com