Odoo'da özel bir web formum var. Dosyaları yüklemem gerek. Benim controllers.py:Odoo web formundaki dosyaları yükle
@http.route(['/test/'], type='http', auth="user", methods=['GET', 'POST'], website=True)
def upload_files(self, **post):
values = {}
form_vals = {}
...........
if post.get('attachment',False):
Attachments = request.registry['ir.attachment']
name = post.get('attachment').filename
file = post.get('attachment')
attachment_id = Attachments.create(request.cr, request.uid, {
'name':name,
'res_name': name,
'type': 'binary',
'res_model': 'project.issue',
'res_id': form_id,
'datas': base64.encode(file.read()),
}, request.context)
............
Kod yukarıdaki vb adı res_model ile eki oluşturur, ancak ekli dosya iss hasarlı ve açılamaz.
XML dosyası: Konsolda
..........
<form t-attf-action="/test/done" method="post" enctype="multipart/form-data" class="form-horizontal mt32"><div t-attf-class="form-group">
..........
<div t-attf-class="form-group">
<label class="col-md-3 col-sm-4 control-label" for="attachment">Attachments</label>
<div class="col-md-7 col-sm-8">
<input name="attachment" type="file" class="file" multiple="true" data-show-upload="true" data-show-caption="true" lass="file" data-show-preview="true"/>
</div>
</div>>
..........
</form>
bu:
name = post.get('attachments_for_issue').filename
_logger.error("name is: %r", name)
file = post.get('attachments_for_issue')
_logger.error("file is?: %r", file.read())
döner:
5092 ERROR HDHDHD openerp.addons.test.controllers.controllers: name is: u'test_image.jpg'
5092 ERROR HDHDHD openerp.addons.test.controllers.controllers: file is?: <FileStorage: u'test_image.jpg' ('image/jpeg')>
Dene: Bu işe yaramazsa uygulama/sekizli-stream" – dsgdfg
"= enctype": = "çok parçalı/form-data" Kime enctype. Windows, günlük dosyasında ne tür bir hata olduğunu göstermez, ancak sayfa yüklenmeye devam eder ve hepsi budur. Bir dosya python'da açılmadığında – Misters
. EOF veya başlık hatası (lar) var. yükleme için doğru içerik başlığı gerekir. Bir base64 nesnesine sahipsin, ama kaydetme prosedürün hakkında hiçbir fikrim yok. – dsgdfg