Microsoft.Common.FileUpload UI 元素
一个允许用户指定要上传的一个或多个文件的控件。
UI 示例
架构
{
"name": "element1",
"type": "Microsoft.Common.FileUpload",
"label": "Some file upload",
"toolTip": "",
"constraints": {
"required": true,
"accept": ".doc,.docx,.xml,application/msword"
},
"options": {
"multiple": false,
"uploadMode": "file",
"openMode": "text",
"encoding": "UTF-8"
},
"visible": true
}
示例输出
如果 options.multiple
为 false
且 options.uploadMode
为 file
,则输出会以 JSON 字符串形式包含文件的内容:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
如果 options.multiple
为 true
且 options.uploadMode
为 file
,则输出会以 JSON 数组形式包含文件的内容:
[
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
]
如果 options.multiple
为 false
且 options.uploadMode
为 url
,则输出会以 JSON 字符串形式包含 URL:
"https://contoso.blob.core.chinacloudapi.cn/pictures/profile.jpg?sv=2013-08-15&st=2013-08-16&se=2013-08-17&sr=c&sp=r&rscd=file;%20attachment&rsct=binary &sig=YWJjZGVmZw%3d%3d&sig=a39%2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d"
如果 options.multiple
为 true
且 options.uploadMode
为 url
,则输出会以 JSON 数组形式包含 URL 列表:
[
"https://contoso.blob.core.chinacloudapi.cn/pictures/profile1.jpg?sv=2013-08-15&st=2013-08-16&se=2013-08-17&sr=c&sp=r&rscd=file;%20attachment&rsct=binary &sig=YWJjZGVmZw%3d%3d&sig=a39%2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d",
"https://contoso.blob.core.chinacloudapi.cn/pictures/profile2.jpg?sv=2013-08-15&st=2013-08-16&se=2013-08-17&sr=c&sp=r&rscd=file;%20attachment&rsct=binary &sig=YWJjZGVmZw%3d%3d&sig=a39%2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d",
"https://contoso.blob.core.chinacloudapi.cn/pictures/profile3.jpg?sv=2013-08-15&st=2013-08-16&se=2013-08-17&sr=c&sp=r&rscd=file;%20attachment&rsct=binary &sig=YWJjZGVmZw%3d%3d&sig=a39%2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d"
]
测试 CreateUiDefinition.json 时,某些浏览器会截断浏览器控制台中 Microsoft.Common.FileUpload
元素生成的 URL。 可能需要右键单击各个链接来复制完整 URL。
注解
constraints.accept
指定在浏览器的文件对话框中显示的文件类型。 有关允许的值,请参阅 HTML5 规范。 默认值为null
。- 如果
options.multiple
设置为true
,则会允许用户在浏览器的文件对话框中选择多个文件。 默认值为false
。 - 此元素支持基于
options.uploadMode
的值以两种模式上传文件。 如果指定了file
,则输出会以 blob 形式包含文件的内容。 如果指定了url
,则文件会被上传到一个临时位置,并且输出会包含 blob 的 URL。 临时 blob 在 24 小时后会被清除。 默认值为file
。 - 上传的文件受到保护。 输出 URL 包括用于在部署期间访问文件的 SAS 令牌。
options.openMode
的值决定了如何读取文件。 如果文件应当为纯文本,请指定text
;否则,请指定binary
。 默认值为text
。- 如果
options.uploadMode
设置为file
并且options.openMode
设置为binary
,则输出将是 base64 编码的。 options.encoding
指定在读取文件时要使用的编码。 默认值为UTF-8
,并且仅当options.openMode
设置为text
时才使用。
后续步骤
- 有关创建 UI 定义的简介,请参阅 CreateUiDefinition 入门。
- 有关 UI 元素中的公用属性的说明,请参阅 CreateUiDefinition 元素。