开发者社区> 问答> 正文

照相图片用js上传报错?

<input type="file" name="file" id="file" onchange="uploadFile()"/>
用表单,内容上传 正常。

      // var file = document.getElementById('file').files[0];    正常
       var file = imageURI;           //手机拍照,返回的图片,上传自己服务器正常。
        var fd = new FormData();          
        fd.append('key', '');
        fd.append('Content-Type', ‘image/jpeg’);      
        fd.append('OSSAccessKeyId', '');
        fd.append('policy', policyBase64)
        fd.append('signature', signature);
        fd.append("file",file);
        var xhr = createXmlHttpRequest()    


        xhr.open('POST', 'http://xx.oss-cn-hangzhou.aliyuncs.com', true); //MUST BE LAST LINE BEFORE YOU SEND
        xhr.send(fd);但是,用照相得到的图片,imageURI, 就报错


这种非表单,图片,如何上传oss 呢?

展开
收起
买域名专用 2016-06-09 03:18:31 6804 0
4 条回答
写回答
取消 提交回答
  • Serverless | Function Compute
    2016-06-12 12:46:18
    赞同 展开评论 打赏
  • Re照相图片用js上传报错?
    我用jQuery+ajax试过,可行,但没有用原生的 XmlHttpRequest 试过.
    ajax方法中有两个个参数: processData:false; contentType: false
    不知是不是跟这个参数有关系。


    -------------------------

    回 5楼买域名专用的帖子
    你这个是 <input file>   选择的吧?不是相机返回的?

    答:对。

    -------------------------

    Re照相图片用js上传报错?

    以图中 第一个语句 file是一个File 对象。
    而在第二句中,imageURI 应该是一个字符串吧?
    我想这是差异而导致不到上传的原因。

    -------------------------

    Re回 8楼陈景标的帖子
    引用第9楼买域名专用于2016-06-15 00:25发表的 回 8楼陈景标的帖子 :
    第二句的意思是, 手机拍照,返回的 那个  图片的名字,
    上传到自己的服务器是正常的,因为自己服务器上,是自己写的接收功能
    上传到 oss 提示的错误就是,图片上的

    主要是因为,不是表单文件,没有那个 from的 分界线。
    ....... [url=https://bbs.aliyun.com/job.php?action=topost&tid=284936&pid=796491][/url]


    那你现在解决了?
    2016-06-12 08:55:12
    赞同 展开评论 打赏
  • Re照相图片用js上传报错?
    没有表单,是手机照相后,返回的图片。
    表单的正常,上面有注释。

    -------------------------

    回 3楼陈景标的帖子

    你这个是 <input file>   选择的吧?不是相机返回的?

    -------------------------

    回 4楼rockuw的帖子
    你好,oss js sdk 也报错,详见另一个帖子
    https://bbs.aliyun.com/read/284930.html?spm=5176.bbsl211.0.0.0TQio2

    -------------------------

    回 8楼陈景标的帖子
    第二句的意思是, 手机拍照,返回的 那个  图片的名字,
    上传到自己的服务器是正常的,因为自己服务器上,是自己写的接收功能
    上传到 oss 提示的错误就是,图片上的

    主要是因为,不是表单文件,没有那个 from的 分界线。

    -------------------------

    回 10楼陈景标的帖子
    没解决,看一些资料上讲,需要自己  拼接 那个 分割符
    2016-06-09 22:37:58
    赞同 展开评论 打赏
  • 码农|Coder| Pythonista
    您好 您需要给表单设置属性为multipart/form-data
    2016-06-09 20:36:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载