html - 上传相机功能不适用于 Android 上的 MS Teams 任务模块
问题描述
我在 MS Teams 中有一个扩展,它打开一个任务模块 - 基本上是一个angular application
. 如下所示:
该应用程序的功能是执行upload
图像。
HTML 代码:
<input type="file" class="file-input" (change)="onFileSelected($event)" #fileUpload />
所以,问题是当我点击ios上的按钮时,它给了我从相机上传的选项。但在android中并非如此
在做了一些研究之后,我尝试了几个选项HTML
<input accept="image/*" capture type="file" class="file-input" (change)="onFileSelected($event)" #cameraUpload />
或者,
<input type="file" accept="image/*;capture=camera">
他们都没有在团队内部工作。
现在,当我在浏览器中运行应用程序并单击file upload
它时,会显示相机选项:
如何在 MS Teams 任务模块中执行相同的功能
解决方案
@Gaurav - 您可以向清单添加以下权限以支持媒体功能:
"devicePermissions": [
"media"]
let imageProp: microsoftTeams.media.ImageProps = {
sources: [microsoftTeams.media.Source.Camera, microsoftTeams.media.Source.Gallery],
startMode: microsoftTeams.media.CameraStartMode.Photo,
ink: false,
cameraSwitcher: false,
textSticker: false,
enableFilter: true,
};
let mediaInput: microsoftTeams.media.MediaInputs = {
mediaType: microsoftTeams.media.MediaType.Image,
maxMediaCount: 10,
imageProps: imageProp
};
microsoftTeams.media.selectMedia(mediaInput, (error: microsoftTeams.SdkError, attachments: microsoftTeams.media.Media[]) => {
if (error) {
if (error.message) {
alert(" ErrorCode: " + error.errorCode + error.message);
} else {
alert(" ErrorCode: " + error.errorCode);
}
}
if (attachments) {
let y = attachments[0];
img.src = ("data:" + y.mimeType + ";base64," + y.preview); }
});
您能否参考以下文档以集成媒体功能。 https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/device-capabilities/mobile-camera-image-permissions
示例代码的 Git 存储库: https ://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-device-permissions/nodejs