使用插件(Css / VueJs)将图像上传到服务器

时间:2018-09-02 10:29:48

标签: javascript css vue.js vuejs2

我正在与Filepond合作,帮助我上传图片。 我在两个链接here上都遵循相同的步骤,这是我的代码:

<template>
  <div id="app">

    <file-pond
        name="filepond"
        ref="pond"
        class="filepond"
        label-idle="Drop files here..."
        allow-multiple="true"
        accepted-file-types="image/jpeg, image/png"
        v-bind:files="myFiles"
        v-on:init="handleFilePondInit"/>

  </div>
</template>

<script>
// Import FilePond
import vueFilePond from 'vue-filepond';

// Import plugins
import FilePondPluginFileValidateType from 'filepond-plugin-file-validate-type/dist/filepond-plugin-file-validate-type.esm.js';
import FilePondPluginImagePreview from 'filepond-plugin-image-preview/dist/filepond-plugin-image-preview.esm.js';

// Import styles
import 'filepond/dist/filepond.min.css';
import 'filepond-plugin-image-preview/dist/filepond-plugin-image-preview.min.css';

// Create FilePond component
const FilePond = vueFilePond( FilePondPluginFileValidateType, FilePondPluginImagePreview );

export default {
    name: 'app',
    data: function() {
        return { myFiles: ['index.html'] };
    },
    methods: {
        handleFilePondInit: function() {
            console.log('FilePond has initialized');

            // example of instance method call on pond reference
            this.$refs.pond.getFiles();
        }
    },
    components: {
        FilePond
    }
};
</script>

<style scoped>

/**
 * FilePond Custom Styles
 */
.filepond--drop-label {
    color: #4c4e53;
}

.filepond--label-action {
    text-decoration-color: #babdc0;
}

.filepond--panel-root {
    background-color: #edf0f4;
}

.filepond--item-panel {
    background-color: #595e68;
}

.filepond--drip-blob {
    background-color: #7f8a9a;
}

.filepond {
    width: 170px;
    height: 170px;
    padding: 0;
    overflow: hidden;
}

.filepond--root,
.filepond--image-preview-wrapper {
    border-radius: 9999px;
}

.filepond--list {
    left: 0;
    right: 0;
}

.filepond--drop-label {
    bottom: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

.filepond--file-info {
    display: none;
}

.filepond--file-action-button {
    display: none;
}

.filepond--image-preview-overlay {
    display: none;
}

.filepond--item-panel {
    display: none;
}

.filepond--file .filepond--action-remove-item {
    display: block;
    bottom: 1em;
    left: calc(50% - 0.8125em);
}

.filepond--file .filepond--progress-indicator {
    top: auto;
    right: calc(50% - 0.625em);
    bottom: 1.1875em;
}

html {
    padding: 30vh 0 0;
}

body {
    max-width: 170px;
    margin: 0 auto;
}

</style>

然后,我尝试像本例中那样使它上传为here的圆形图像。

这就是我得到的:

Upload Image

如何重新设置样式? 我从示例中复制了相同的CSS代码,并在代码中使用了它,但是您无法看到它。

1 个答案:

答案 0 :(得分:0)

我不知道vue,但是“ accepted-file-types”使用字符串数组,而不是包含多个文件类型的单个字符串。 您无法尝试将其更改为数组。