이미지 파일을 선택하면 이미지를 연결된 소켓에 뿌리는 작업을 하고 있었다.

파일을 선택하면 blob 형태로 만들어 뿌렸는데 이게 같은 디바이스에서는 제대로 동작했는데

다른 디바이스에선 제대로 안나오더라..

 

그래서 생각해낸게 blob 을 base64 로 컨버팅해서 base64를 넘기는 형태로 변경

 

const reader = new FileReader();
const blob = ---; // blob or file
reader.readAsDataURL(blob); 
reader.onloadend = () => {
	const base64data = reader.result;
	// base64 converted!
	console.log(base64data);
}

 

 

샘플페이지

 

codepen.io/mika0203/pen/oNBzgGx

 

샘플 페이지

 

 

python3, windows 를 기준으로 작성했습니다.

 

python 으로 작성한 코드를 C# 에서 사용해야 할 일이 있어서 컨버팅 작업이 필요했다.

python 코드를 바로 C# 에서 사용하는 방법도 있었는데 코드 보안을 위해 pyd (dll)로 컨버팅 하기로 했다.

 

$ pip install Cython

일단 Cython이 없다면 설치해주고,

 

# sum.pyx

def sum(a,b) :
    return a + b

파이썬 코드를 작성하는데 확장자를 *.pyx 로 해준다.

 

 

# setup.py

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
    cmdclass = {'build_ext': build_ext},
    ext_modules = [Extension("sumdll", ["sum.pyx"])] )

 

setup.py 의 코드는 이렇게 작성하고,

 

$ python .\setup.py build_ext --inplace

 

위의 커맨드로 setup.py 를 실행시킨다.

 

결과물

c, pyd 로 컨버팅된 파일이다. pyd 파일은 파이썬, 운영체제 버전에 따라 뒤에 붙는 이름이 조금 달라진다.

+ Recent posts