Skip to content

Error when Save file in Amazon S3  #976

Closed

Description

@ckarmy

Hi,

I'm trying to save a image in my S3 service but I get an error... The files are saved in the same way that I save regular files in parse?

The code to save my image is:

var parseFile = new Parse.File(file.name, file);
'parseFile.save().then(function() {
debug_log("Saved");
var currentUser = Parse.User.current();
currentUser.set("image", parseFile);
currentUser.save();
}, function(error) {
debug_log("ERROR: " + JSON.stringify(error));
// I get this error
});

And my index.js looks like:

var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var S3Adapter = require('parse-server').S3Adapter;

var databaseUri = 'xxxxxx';

if (!databaseUri) {
console.log('DATABASE_URI not specified, falling back to localhost.');
}

var api = new ParseServer({
databaseURI: 'xxxxxx',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: 'xxxxx',
masterKey: 'xxxxxx', //Add your master key here. Keep it secret!
serverURL: 'http://localhost:1338/parse', // Don't forget to change to https if needed
filesAdapter: new S3Adapter(
"xxxx",
"xxxxx",
{bucket: "xxxx", directAccess: true}
),
fileKey: 'xxxxx'
});

var app = express();

var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);

app.get('/', function(req, res) {
res.status(200).send('I dream of being a web site.');
});

var port = 1338;
app.listen(port, function() {
console.log('parse-server-example running on port ' + port + '.');
});

Activity

  1. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    What is the error?

  2. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    @flovilmart I get a empty message when I debug JSON.stringify(error)

  3. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    What is you file variable? a buffer? Is that in node? JS SDK?

  4. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    @flovilmart the file is a image that I take with my phone. This code work fine with oficial Parse storage. I don't know if I need to do something more to config my S3Adapter... I follow this instructions: https://github.com/ParsePlatform/parse-server/wiki/Storing-Files-in-AWS-S3

  5. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    Can you start your server with VERBOSE=1 so I can get the logs?

  6. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    @flovilmart Sorry I'm a beginner in this. How I start the server with VERBOSE=1? with npm run start VERBOSE=1? And how I see the log?

    Thanks!

  7. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    @ckarmy the opposite : VERBOSE=1 npm start

  8. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    @flovilmart Thanks! Now I can see all the debug but when I try to save the file I don't get any message from the server. Because the error happen in this part:
    _
    var parseFile = new Parse.File("file.name", file);
    parseFile.save().then(function() {

        }, function(error) {
                    //this error
        });_
    

    I don't know what to do :(

  9. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    when you call parseFile.save() this should send a request to the server. If you don't see a request coming out, that means that this is a client SDK problem.

  10. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    @flovilmart I think is a problem with the parse-server configuration. I try to upload a image with the dashboard and don't work. And I don't get any log from the server!

    I try with this button:
    screen shot 2016-03-11 at 15 47 10

    What can be?

  11. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor
  12. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    Thanks! @flovilmart! I solve the problem with the dashboard but the problem with my app continues 😔
    I don't know what can be! If I remove the S3Adapter and manage files with Parse works! But not with my S3 bucket from javascript!

  13. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    how did you solve the problem with the dashboard?

  14. ckarmy commented on Mar 11, 2016

    @ckarmy
    Author

    @flovilmart I update my parse-server and parse-server-dashboard repository.
    Any idea how can I solve the problem?

  15. flovilmart commented on Mar 11, 2016

    @flovilmart
    Contributor

    Not really, as we don,t see the requests coming into parse-server, it sure seems to be a client related problem IMHO, maybe someone else's got an idea. @peterdotjs ?

  16. peterdotjs commented on Mar 11, 2016

    @peterdotjs
    Contributor

    @ckarmy could you take a screenshot of the network requests when you are attempting to upload?

  17. ckarmy commented on Mar 12, 2016

    @ckarmy
    Author

    @peterdotjs I was trying uploading the image directly but does not receive any response of the server. Now I try uploading the image with Base64 encoding and I get this:
    screen shot 2016-03-11 at 22 12 14

    The encode image is:

    data:image/jpeg;base64,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

  18. flovilmart commented on Mar 12, 2016

    @flovilmart
    Contributor

    your base64 string should not have data:image/jpeg;base64, just the string. I believe you're capturing that from and somewhere as HTML/cordova requires this information to properly render that image.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions