Пример #1
0
    def save_file(self, buffer, content_type, basename):
        """
            for example)
            1)http://www.example.co.jp/Netzawar.png => Netzawar.png
            2)http://www.example.co.jp/ => example.suffix
                .suffix := self.getSuffix
            @param  {io.BytesIO}buffer Response#content
                    {string}contentType
                    {string}basename
        """
        suffix = self.getSuffix(content_type)
        logger.info('content-type:%s,decode:%s', content_type, suffix)
        with tempfile.NamedTemporaryFile(delete=False, suffix=suffix) as temp:
            temp.write(buffer.getvalue())
            temp_file_name = temp.name
            if len(basename) == 0:
                logger.warning('create_filename:%s', os.path.basename(temp.name))
                basename = os.path.basename(temp_file_name)
            p = Path(self.dataDir, basename).with_suffix(suffix)
            p = FileUtils.sequential(p)

        os.replace(temp_file_name, str(p))