【发布时间】:2015-11-05 18:11:17
【问题描述】:
我尝试通过 Twitter api 上传图片,如那里所述,我使用 name="status" 和 name="media[]" 创建了一个表单 -
<form id="image-form">
<input type="text" name="status">
<input name="media[]" type="file" />
<input type="submit" value="POST IMAGE">
</form>
此外,我还有一个 submit 处理程序 -
$('#image-form').submit( function(e) {
e.preventDefault();
var formData = new FormData(this); // <-- 'this' is your form element
$.ajax({
url:'https://api.twitter.com/1.1/statuses/update_with_media.json',
type: 'POST',
contentType: false,
pagerocessData: false,
processData: false,
data: formData,
success: function(data) {
alert('Image upload succeeded');
},
error: function (responseData, textStatus, errorThrown) {
alert('GET failed.');
}
});
});
在 Chrome 的网络下,我看到这个请求是 Content-Type:multipart/form-data
最后我得到“响应 200”,但它没有将图像上传到 Twitter 帐户,
我在这里做错了什么?
【问题讨论】:
-
来自POST media/upload:
Ensure your POST is a multipart/form-data request。是你做的吗? (我没用过twitter的api,不过好像可能是这样) -
检查发现-
Content-Type:multipart/form-data -
您为什么不使用当前的 API 挂钩而不是已弃用的挂钩?此端点已被弃用。请使用 POST statuses/update 上传一个或多个媒体实体。
标签: javascript ajax api twitter tweets