Javascript 从浏览器向Amazon S3上传图像时出现问题

Javascript 从浏览器向Amazon S3上传图像时出现问题,javascript,amazon-s3,cross-browser,xmlhttprequest,Javascript,Amazon S3,Cross Browser,Xmlhttprequest,最近,我在浏览器中实现了从javascript向AmazonS3上传图像。我只关注FireFox、Chrome和IE 最后,我还没有为IE实现它-任何版本(甚至10) 用例是这样的: 选择本地图像文件 将文件大小、mime内容类型和文件名发送到云中的服务器 将图像文件制作成base64缩略图 云中的服务器进行签名并向我发送所有重要数据和url以供上传 获取数据并形成xhr:XMLHttpRequest对象 使用“POST”方法,通过“多部分/表单数据”请求上传文件,同时使用提供的数据(acl、密

最近,我在浏览器中实现了从javascript向AmazonS3上传图像。我只关注FireFox、Chrome和IE

最后,我还没有为IE实现它-任何版本(甚至10)

用例是这样的:

  • 选择本地图像文件
  • 将文件大小、mime内容类型和文件名发送到云中的服务器
  • 将图像文件制作成base64缩略图
  • 云中的服务器进行签名并向我发送所有重要数据和url以供上传
  • 获取数据并形成xhr:XMLHttpRequest对象
  • 使用“POST”方法,通过“多部分/表单数据”请求上传文件,同时使用提供的数据(acl、密钥、内容类型、AWSAccessKey、签名、策略和文件)
  • 另一件重要的事情是浏览器的位置协议是https

    问题: 我遇到了几个问题,主要是在IE上


  • 在IE中读取文件大小、mime类型或本地路径是不可能的如果任何一个仍然出现此错误,我发现添加“contentType”修复了它

    $('.uploadAssets').ajaxForm( {
        dataType:               'json',
        contentType:            'application/json; charset=utf-8',//added this line and problem solved
        beforeSend:             beforeuploadAssetsPostForm,
        success:                uploadAssetsFormResponse,
        error:                  uploadAssetsError
    });
    

    这也可能与IE10 bug:有关,或者我现在无法检查。我再也无法访问该代码,但我想知道是否有人可以确认此解决方案。
    $('.uploadAssets').ajaxForm( {
        dataType:               'json',
        contentType:            'application/json; charset=utf-8',//added this line and problem solved
        beforeSend:             beforeuploadAssetsPostForm,
        success:                uploadAssetsFormResponse,
        error:                  uploadAssetsError
    });