101 次浏览【转载需注明来源】
在快码FOF的新版本中,HTTP服务类提供了一个新的属性"文件上传"。
它的作用就是专业的提供文件上传的功能,同时也支持超大文件的上传接收;它的具体使用方案如下:
HTTP服务类.启动服务(
{
"端口": 8081,
"域名": "0.0.0.0",
"拒绝访问": [],
"首页文件": "@名称_文件上传.lhtml",
"文件上传": {
"保存目录": 文件操作类.取资源目录(),
"触发链接": ["/postFile"]
}
},
(反馈信息) => {
调试输出(反馈信息);
},
(访问信息, 整体信息) => {
如果 (访问信息["文件数据"]) {
如果 (访问信息["文件数据"]["文件数据"]) {
返回 { "发送数据": 访问信息["文件数据"]["文件数据"], "数据协议": HTTP服务类.获取数据协议(访问信息["文件后缀"]) };
}
}
返回 { "发送数据": "你好,世界", "数据协议": HTTP服务类.获取数据协议("html") };
},
(访问信息, 整体信息) => {
调试输出(访问信息);
返回 { "发送数据": JSON类.到可读JSON文本({"状态":"成功"}), "数据协议": HTTP服务类.获取数据协议("json") };
}
);
通过极其简单的配置,就可以设置好HTTP服务类的文件接收功能。
首先文件上传属性是一个对象,它下面有两个子属性,分别是:保存目录、触发链接。
保存目录是一个字符串类型,用来定义接收到文件时保存的目录;而触发链接是一个数组类型;用来定义上传的链接地址。
接下来我们拿一个简单的文件上传演示页面,展示一下文件上传后的效果,下面是一个文件上传的前端代码:
注意:前端的文件上传具体详解参考:文件上传前端介绍
<!文档类型 网页类型>
<网页 语言代码="中文">
<网页头部>
<网页信息 文档编码="UTF8" />
<网页信息 名称="页面视图" 关联数据="视图宽度=填充视图宽度,初始缩放值=1,最大缩放值=1,用户缩放状态=假" />
<网页信息 关联HTTP="兼容模式" 关联数据="最高IE版本" />
<网页标题>Document</网页标题>
</网页头部>
<网页主体>
<图片框 图像地址="" 行内样式="宽度: 100px; 高度: 100px; 背景-颜色: 颜色值-橙色" id="头像上传" 错替文本="点我选择图片上传" />
<脚本>
//注意:上传文件可以是任意的地址!
局部变量 头像上传 = 新建对象 lay_上传({
[lay_上传.配置.绑定元素]: "#头像上传",
[lay_上传.配置.上传地址]: "/postFile",
[lay_上传.配置.对话框类型]: "image/*",
//允许上传的文件类型,详情参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types
[lay_上传.配置.自动]: 真,
[lay_上传.配置.选择]: 定义函数 (上传选择对象) {
//预读本地文件示例,不支持ie8
上传选择对象.预读(定义函数 (序号, 文件, base64编码) {
$("#头像上传").属性值("src", base64编码);
});
},
[lay_上传.配置.进度]: 定义函数 (n, elem, res, index) {
调试输出(n, elem, res, index);
//这里可以查看到上传到进度
},
[lay_上传.配置.完成]: 定义函数 (res, index, upload) {
调试输出(res, index, upload, "上传完成");
}
});
</脚本>
</网页主体>
</网页>
当我们访问前端时,会得到这样的页面:
此时我们点击图片上传一个文件到服务端,后端会输出如下的信息:
与常规的POST数据不同的是,文件上传属性绑定的URL,收到文件上传请求并完成后会得到上图中信息;文件信息属性中包含了收到对文件数据长度、保存的文件路径、保存的文件名称、文件类型等。
项目完整参考案例:1709994805831819.zip
值得注意的是:如果你是用表单标签来上传文件,那么则不能使用本后端方案,需要使用常规的文件上传方案,参考:常规表单文件上传方案
测试账号
快码FOF编程 Time: 2024-03-09 22:48:06
评论ID
注意:需要下载最新版快码FOF
Jeffrey Time: 2024-03-10 00:08:39
评论ID
支持超大文件,这个超大是多大,可以一个g吗?
快码FOF编程 回复 2楼 Jeffrey Time: 2024-03-10 00:24:30
评论ID
支持