g00001
2015-11-04 15:54:32 +08:00
原来是为了生成 DataURL ,发个 PC 客户端工具, aardio 代码实现,支持多线程、文件拖放。
import win.ui;
/*DSG{{*/
var winform = win.form(text="HTMLayout Data Url 转换工具";left=-50;right=399;bottom=325;topmost=1)
winform.add(
edit={cls="edit";left=9;top=9;right=439;bottom=292;acceptfiles=1;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=1};
static={cls="static";text="请将图片等文件拖放到上面的文本框中进行转换";left=11;top=300;right=433;bottom=324;db=1;dl=1;transparent=1;z=2}
)
/*}}*/
import fsys;
import fsys.mime;
winform.edit.wndproc = function(hwnd,message,wParam,lParam){
if( message == 0x233/*_WM_DROPFILES*/ ){
if( winform.edit.busy ) return;
var path = win.getDropFile(wParam)[1]
if( fsys.isDir(path) ){
winform.edit.text = "路径不能是一个目录"
return;
}
var mime = fsys.mime.fromFile( path )
if(!mime){
winform.edit.text = "无效的文件格式";
return;
}
winform.edit.busy = true;
winform.edit.text = "正在转换,请稍候......";
winform.edit.text = win.invoke(function(path,mime){
import crypt.bin;
return string.format('data:%s;base64,\r\n%s',mime,crypt.bin.encodeBase64( string.load(path) ) )
} ,path,mime);
winform.edit.busy = false;
}
}
winform.show()
win.loopMessage();