javascript - 使用 Javascript(CoffeeScript) 和 REST API 将图像上传到 Parse

标签 javascript parsing image-uploading trigger.io

我正在尝试上传图像进行解析,然后将它们附加到模型,但是每当我上传图像时,它都会返回成功上传的结果,但网址包含损坏的图像链接。

例如:

http://files.parse.com/aac0413c-eada-4602-9451-2ee5da7d1241/22eaa50b-1e61-4744-abf9-a57ba9f4123f-test.jpg

这是上传代码:

getImg: ->
CameraHelper.fileUpload (file) =>
    @file = file
    forge.file.URL file, (url) =>
        @fileURL = url
        @$("#uploadImg").addClass("fadeIn").css("background-image", "url(#{url})")
        @$("#removeImg").css("display", "inline")
    , (content) ->
        error "Error finding Image"
, ->
    debug "Upload Cancelled"


    serverUrl = 'https://api.parse.com/1/files/test.jpg'
    parseFile = _.extend @file,
        type: "image/jpeg"
        name: "share.jpg"

    $.ajax
        type: "POST",
        beforeSend: (request)->
            request.setRequestHeader "X-Parse-Application-Id", 'MY-APP-ID'
            request.setRequestHeader "X-Parse-REST-API-Key", 'MY-REST-API-ID'
            request.setRequestHeader "Content-Type", "image/jpeg"
        url: serverUrl
        data: parseFile
        processData: false
        contentType: false
        success: (data) ->
            alert "File available at: " + data.url
        error: (data) ->
            obj = jQuery.parseJSON(data)
            alert obj

CameraHelper =
fileUpload: (success, err) ->
    if APP
        forge.file.getImage
            saveLocation: "file"
            source: "camera"
            height: "620px"
            width: "620px"
        , (file) ->
            debug "Successfully uploaded img"
            success?(file)
        , (content) ->
            error "Error in uploading img", content
            err?()
    else
        debug "Sorry that feature is not currently available on the mobile web."

相机助手 注意:我正在使用triggerIO,还引用了:https://www.parse.com/questions/uploading-files-to-parse-using-javascript-and-the-rest-api没有效果

parseFile 是我要上传的图像

最佳答案

我不确定 Parse 在 POST 正文中到底期望什么,但我认为他们希望整个正文都是图像数据,没有多部分编码。

这意味着您需要做两件事:

首先,上传文件时,应该使用files参数,而不是data。请参阅https://trigger.io/docs/current/api/modules/request.html#forgerequestajaxoptions 。每当您上传文件时都是如此,而不仅仅是使用 Parse。

其次,我认为 Parse 不需要编码的 POST 正文,因此使用 fileUploadMethod: "raw" 参数将图像数据直接转储到请求中.

关于javascript - 使用 Javascript(CoffeeScript) 和 REST API 将图像上传到 Parse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16524967/

相关文章:

javascript - 使用 JavaScript 包装一组 DOM 元素

Javascript HTML 注册

c - 在标识符后拆分 C 字符串

Java解析文本文件

javascript - DropzoneJS dataURL 未定义

PHP Curl 图片上传

javascript - 如何给类(class)设置活跃

javascript - 如何通过单击同一行列中的图像来删除行?

java - 如何在 GWT 中替换 StringTokenzier(..., true) ?

php - 如何将图片上传到另一台服务器?