如何保存图像(从Dropbox Chooser上传)到文件夹?

时间:2018-03-29 17:34:48

标签: javascript php dropbox-api

我知道你认为这是一个愚蠢的问题。但我无法完成它。我正在使用Dropbox选择器从用户的Dropbox帐户上传图片。上传后,我可以将其保存在数据库中,但我无法将其保存在uploads文件夹中。以下是我的代码:

的index.php

<form class="form" method="post" enctype="multipart/form-data" >
    <div id="dropbox-container"></div>
    <input id="dropbox_image" name="image" type="hidden" />
    <button type="submit" class="button">Save</button>
</form>

<script type="text/javascript" src="https://www.dropbox.com/static/api/2/dropins.js" id="dropboxjs" data-app-key="wgiv8kvzvq57mlw"></script>
<script type="text/javascript">
    options = {
        success: function(files) {
            files.forEach(function(file) {
                add_img_to_list(file);
                document.getElementById('dropbox_image').value = file['name'];
            });
        },
        cancel: function() {
          //optional
        },
        linkType: "preview", // "preview" or "direct"
        multiselect: true, // true or false
        extensions: ['.png', '.jpg'],

    };

    var button = Dropbox.createChooseButton(options);
    document.getElementById("dropbox-container").appendChild(button);

    function add_img_to_list(file) {
        var li  = document.createElement('li');
        var a   = document.createElement('a');
        a.href = file.link;
        var img = new Image();
        var src = file.thumbnailLink;
        img.src = src;
        img.className = "th"
        document.getElementById("img_list").appendChild(li).appendChild(a).appendChild(img);
    }
</script>

hController.php

<?php
    $fileName = $_POST['image'];
    $tmpName = $_POST['image'];

    $image = new \Model\Upload_Picture();
    $image->image = $_POST['image'];            
    $fileName = uniqid()."_".basename($fileName);
    $fileName = str_replace(' ', '_', $fileName);
    $fileName = str_replace('-', '_', $fileName);

    move_uploaded_file(tmpName, UPLOAD_PATH . 'pictures/'. $fileName );

    $image->save();
?>

此代码可帮助我将图像保存到数据库中,但不能将其存储在上传文件夹中。我想我在一些代码中犯了一个错误,帮助将不胜感激。此外,如果我从保管箱帐户上传多个图像,我无法将所有图像存储在我的数据库中。只有最后一个存储在db。

0 个答案:

没有答案