>source

Laravue Dropzone 작업을하려고하는데 아직 작업하지 않았습니다.

다음은 코드입니다.

<el-dialog :title="'Importar Bitacora'" :visible.sync="dialogFormVisible">
  <div v-loading="weblogCreating" class="form-container">
    <el-form ref="weblogForm" :rules="rules" :model="newBitacora" label-position="left" label-width="150px">
      <div class="editor-container">
        <dropzone id="CargarBitacora" url="/api/bitacora/importar" @dropzone-removedFile="dropzoneR(e)" @dropzone-error="dropzoneError" @dropzone-success="dropzoneS" />
      </div>
    </el-form>
  </div>
  <div slot="footer" class="dialog-footer">
    <el-button @click="dialogFormVisible = false">
      {{ $t('bitacora.cancel') }}
    </el-button>
    <el-button type="primary" @click="handleUpload()">
      {{ $t('bitacora.confirm') }}
    </el-button>
  </div>
</el-dialog>
<script>
  import Dropzone from '@/components/Dropzone';
  export default {
    name: 'BitacoraList',
    components: { Dropzone },
    data() {
      return {
        files: [],
      },
      created() {
        .. code here ..
      },
      methods: {
        handleUpload(e) {
        const formData = new FormData();
        this.files.forEach(file => {
          formData.append('files[]', file);
        });
        console.log(this.files);
      },
    }
 };
</script>

handleUpload에 파일을 전달하려고했지만 지금은 작동하지 않습니다.

  • 답변 # 1

    dropzone으로 파일을 업로드하는 방법을 알아 냈습니다. handleUpload 메소드에서 임시 파일을 업로드하는 laravel 백엔드의 post 메소드로 파일을 보내야합니다.

    dropzoneR(file) {
      var name = file.upload.filename;
      fileResource.borrar(name).then(response => {
        this.files.splice(this.files.indexOf(name), 1);
        if (this.files.length < 1) {
          this.btnUpload = true;
        }
      }).catch(error => {
        console.log(error);
      });
    },
    
    

    업로드되면 ok를 반환 한 다음 필요한 파일이 맞는지 확인하면 laravel 백엔드의 다른 메서드에서 Excel 파일 (mi의 경우)이 데이터를 업로드하면 파일로 원하는 작업을 수행합니다. 데이터베이스 또는 내가 원하는 것. 이렇게

    async handleUpload(e) {
      this.weblogCreating = true;
      await bitacoraResource.store(this.files).then(response => {
        this.$message({ message: 'Bitacoras importadas satisfactoriamente', type: 'success' });
        this.files = '';
        this.dialogImportVisible = false;
        this.weblogCreating = false;
        this.getList();
      }).catch(error => {
        this.$message({
          message: 'Error importando las bitacoras ' + error.getMessage,
          type: 'error',
        });
        this.weblogCreating = false;
        console.log(error.message);
      });
    },
    
    

관련 자료

  • 이전 distributed computing - bacis paxos의 "가치"를 어떻게 이해할 수 있습니까?
  • 다음 열거 형 JavaScript를 배열로 변환하고 배열에서 임의의 요소를 선택합니다