首页 > 解决方案 > 上传相机功能不适用于 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 任务模块中执行相同的功能

标签: htmlangularmicrosoft-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


推荐阅读