pythonでファイルとしてajax経由で送信されたblobを保存しようとしています。 struct.pack
を使用せずにPythonでファイルにブロブを保存する
error: bad char in struct format
は、単にこのvid.write(video_stream.decode('base64'))
を使用してPython: How do I convert from binary to base 64 and back?
class SaveBlob(APIView):
def post(self, request):
vid = open("file.webm", "wb")
video_stream = request.FILES['blob'].read()
video_stream = struct.pack(video_stream).encode('base64')
# vid.write(video_stream.decode('base64'))
vid.write(video_stream)
vid.close()
return Response()
それは結果の前に、この通過していたことは、ファイルが保存されますが、私はビデオを開いたときには、ストリームの種類を判断できませんでしたになります。
ajaxコールはこのようになりますが、うまく見えます。
function call_ajax(request_type,request_url,request_data) {
var data_vid = new FormData();
console.log(request_url);
data_vid.append('blob', request_data);
console.log(request_data);
var data= [];
try{
$.ajax({
type: request_type,
url: request_url,
data:data_vid,
cors:true,
processData: false,
contentType: false,
async:false,
beforeSend: function(xhr) {
xhr.setRequestHeader('X-CSRFToken',Cookies.get('csrftoken'))
},
success: function(response){
data =response;
}
});
}catch(error){
console.log(error);
}
return data;
}
ご協力いただければ幸いです。あらゆる欠陥や考えられる原因についての提案は大歓迎です。
感謝 –