首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yammer攻击

Yammer攻击
EN

Stack Overflow用户
提问于 2015-06-04 08:35:46
回答 1查看 344关注 0票数 2

我试图通过我的应用程序发布带有附件映像的消息,所以我使用了以下代码:

代码语言:javascript
复制
function yamPost(mytoken) {
        var msg_Body = jQuery("#myBody").val();
        var imgData = new FormData();

        var files = $("#attachement").get(0).files;

        if (files.length > 0) {
            imgData.append("attachement1", files[0]);
        }

        yam.platform.request(
        {
            url: "messages.json",
            method: "POST",
            network: "myNetwork",
            header:{
                authorization: "Bearer " + mytoken,
            },
            data: {
                body: msg_Body,
                attachment1: imgData
            },
            contentType: "multipart/form-data",

            success: function (feedResult) {
                console.log("- Yeaaahhh");
                console.log(feedResult);
                debugger;
            },
            error: function (msg) {
                console.log("- Can't post message with attachement");
                debugger;
            }
        });
    }

我犯了错误:

“未登录的TypeError:非法调用”

我也尝试使用pending_attachment,但我也遇到了同样的问题或http500内部服务器错误.谁能把他怎么做的代码发出来。

编辑

我尝试了一种发送数据的新方法:

我没有发送FormData,而是使用以下方法:

代码语言:javascript
复制
function readBinary() {
        var reader = new FileReader();

        reader.onloadend = function () {
            yamPost(reader.result, token);
        }

        reader.readAsBinaryString(document.getElementById("attachement").files[0]);
    }

每次我这么做,我都会遇到这样的例外:

“没有‘访问-控制-允许-来源’”

但是,如果我不包括附件(、attachment1: imgData或binaryFileOutput),消息就会发布!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-23 15:17:20

我终于找到了一个答案,实际上,使用FormData对象是正确的,但我使用它的方式是,您必须附加在同一个FormData对象上发送的所有属性,就像这个thread一样,下面是神奇的代码:

代码语言:javascript
复制
function YamPostImage() {
var myData = new FormData();

myData.append('body', "my app images");
myData.append('attachment1', document.getElementById("attachement").files[0]);

yam.platform.request(
{
    url: "messages.json",
    method: "POST",
    network: "my-network",
    data: myData,
    cache: false,
    contentType: false,
    processData: false,
    success: function (feedResult) {
        console.log("- Yeaaahhh");
        debugger;
    },
    error: function (msg) {
        console.log("- Can't post message with attachement");
        debugger;
    }
});

}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30638898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档