构造上传文件的表单数据较复杂,标准库提供了 web.multipartFormData 类可以自动构造上传文件表单的数据包。
语法:
import web.multipartFormData;
var form = web.multipartFormData();
form.add("字段名","字段值")
form.add("上传字段名","@上传路径");
说明:
web.multipartFormData是一个类,创建的表单对象可以使用add(字段名,段值)函数添加上传数据,字段名指网页表单中输入控件的名字(该控件html源码中的name属性),可添加多个字段,如果该字段的值第一个字符是"@"字符则上传该文件。在标准库 web.rest.client中有上传文疾糠州有用到 web.multipartFormData 可以参考一下源码。
示例:
import web.form;
/*DSG{{*/
var winform = ..win.form( text="自动上传";right=744;bottom=523 )
/*}}*/
var wb = web.form( winform ); //创建 Web 窗体
winform.show();
//构建上传数据包
import web.multipartFormData;
var formData = web.multipartFormData();
formData.add("username","用户名");
formData.add("password","密码");
formData.add("filename","@\main.aardio");
//上传数据
wb.post("http://httpbin.org/post"
, formData.readAll() //上传数据包
, formData.contentHeader() //要添加的HTTP头
);
//启动消息循环
win.loopMessage();