1
我在我的rails應用程序中使用shrine
gem來進行文件上傳。我想將這個gem與fineuploader前端庫集成,以在上傳文件的同時增強用戶體驗。我可以將它集成到我能夠通過fineuploader前端通過神龕服務器端代碼將文件上傳到我的s3存儲桶。自定義神社寶石JSON響應
現在,在成功上載我收到JSON響應200個狀態碼,出現類似以下內容:
{"id":"4a4191c6c43f54c0a1eb2cf482fb3543.PNG","storage":"cache","metadata":{"filename":"IMG_0105.PNG","size":114333,"mime_type":"image/png","width":640,"height":1136}}
但fineuploader預計JSON響應與true
值的success
屬性,以考慮這個反應成功。所以我需要修改這個200狀態JSON響應來插入這個成功的屬性。對於這一點,我問shrine
寶石的作者,他勸我在神社初始化文件中使用此代碼:通過使用此代碼fineuploader
class FineUploaderResponse
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
if status == 200
data = JSON.parse(body[0])
data["success"] = true
body[0] = data.to_json
end
[status, headers, body]
end
end
Shrine::UploadEndpoint.use FineUploaderResponse
不幸的是,這個代碼不工作,INFACT拋出以下控制檯錯誤:
Error when attempting to parse xhr response text (Unexpected end of JSON input)
請諮詢我,我該怎麼需要修改這個代碼中插入success
財產與一個有效的JSON響應。
您是否找到了解決方案? – Robin