Imageshack upload和wrong_file_type

时间:2011-08-26 22:16:34

标签: flex actionscript-3 actionscript air imageshack

我正在尝试使用flex将图像上传到ima​​geshack,但继续

<links>
<error id="wrong_file_type">Wrong file type detected for file IMG_00000009.jpg:application/octet-stream</error>
</links>

我已经尝试过改变mimetype,但似乎没有做到这一点。

以下是我的方法:

protected function onUpload(event:MouseEvent):void
{
    trace('uploading')
    fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);
    var params:URLVariables = new URLVariables();
    params.key = key;
    var request:URLRequest = new URLRequest("http://www.imageshack.us/upload_api.php");
    request.method = URLRequestMethod.POST;
    request.data = params;
    fileRef.upload(request, "fileupload");
}

有谁能帮我一把,告诉我我做错了什么?我看了很多谷歌和这里,但找不到他的动作脚本的任何解决方法。

提前致谢

2 个答案:

答案 0 :(得分:1)

多部分表单上传有多种内容类型。一个用于主要提交,一个用于每个部分。使用FileReference.upload()方法时,无法设置其中任何一个。遗憾的是,您可能必须使用imageshack想要的内容类型构建自己的多部分表单上载。您可以使用URLLoader类执行此操作,但它并不漂亮。

这是一个应该让你入门的课程(可能你可以不加修改地使用它):http://code.google.com/p/in-spirit/source/browse/#svn%2Ftrunk%2Fprojects%2FMultipartURLLoader%2Fru%2Finspirit

您可能还会代表各地的Flash开发人员要求imageshack接受应用程序/八位字节流。

您还可以在http://bugbase.adobe.com处提交错误/增强请求(此功能已记录为以这种方式工作,因此更多是增强请求)。

答案 1 :(得分:0)

好吧,首先,你不是在听任何可能发生的错误(可能就是这种情况),如果你想调试,你应该使用像chrome中的开发人员面板或firefox中的firebug来看到http请求。

通过快速查看API,我看到了这个小问题:

  

支持的参数是:

     
      
  • 文件上传; (输入类型=“文件”) - 图像或视频文件。强制性   除非指定了url参数。
  •   
  • frmupload; (输入类型=“文件”) - 视频默认帧图片。   可选,仅用于视频上传。上传视频时   你可以提供一个默认帧,当视频出现时将显示   停止。此图像的尺寸应与视频文件的尺寸相同   为了避免屏幕上的人工制品。
  •   
  • URL;此参数表示使用转换方法   上传optsize;如果图像是,则以WxH格式调整图像的选项   上传/ transloaded。对视频上传没有影响。
  •   
  • rembar;开发人员可以告诉ImageShack离开/删除   ImageShack生成的缩略图图像上的信息栏。如果你的话   提供此参数为yes或1然后生成的thumbmail将   没有信息栏。对视频上传标签没有影响;一个   以逗号分隔的标记列表,可添加到您的视频/图像中。例如。   家庭,图片。可选的
  •   
  • 公众;您的视频/图片的公共/私人标记。是的意思   public(默认),no表示私有。可选的
  •   
  • 饼干;注册码,可选。
  •   
  • a_username;用户名,可选。
  •   
  • a_password;密码,可选。
  •   
  • 键;你的DeveloperKey。强制性的。
  •   

我相信您错过了urlfileupload参数,以便它发挥作用。