2015-11-05 68 views
0

我发送一个blob,用户mic输入从角度到django API端点。该blob是一个8000Hz的单声道wav文件。导出blob数据到django中的文件

// Prepare data 
var data = new FormData(); 
data.append('section_item_id', id); 
data.append('blob', blob); 

API观点:

def compare_audio(request): 
    print dict(request.data) 
    return Response({'status' : random.choice(['true', 'false'])}) 

我能看到斑被与打印发送。出于测试目的,我想导出我在django中获得的blob,并将其保存到服务器上的文件中。怎么样?

回答

0

从数据可以使用SciPy的创建WAV:

import numpy as np 
import scipy.io.wavfile 
import math 

file_name="another.wav" 
rate=8000 
data2 = np.asarray(request.data, dtype=np.int16) 

scipy.io.wavfile.write(file_name,rate,data2) 

可以使用mod_xsendfile对于浏览使用Apache服务从Django的文件,例如:

response = HttpResponse(mimetype='audio/wav') 
response['Content-Disposition'] = 'attachment; filename=%s' % smart_str(file_name) 
response['Accept-Ranges'] = 'bytes' 
response['X-Sendfile'] = smart_str(path_to_file) 
return response