美文网首页
(一)文件上传的三种方式

(一)文件上传的三种方式

作者: MrSwilder | 来源:发表于2019-12-16 14:13 被阅读0次

1.表单提交(后台直接接收文件)


<form action="/UploadServlet" enctype="multipart/form-data" method="post">
    <input type="text" name="username">
    <input type="password" name="pwd">
    <input type="file" name="pic">
    <input type="submit">
</form>

2.vue中使用相关组件(elementui)

这种方式是搭建有专门的文件服务器,先将调接口将文件上传给文件服务器,然后将返回的路径上传给表单接口

<el-upload
  class="upload-demo"
  action="https://jsonplaceholder.typicode.com/posts/"
  :on-preview="handlePreview"
  :on-remove="handleRemove"
  :file-list="fileList">
  <el-button size="small" type="primary">点击上传</el-button>
  <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>
<script>
  export default {
    data() {
      return {
        fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
      };
    },
    methods: {
      handleRemove(file, fileList) {
        console.log(file, fileList);
      },
      handlePreview(file) {
        console.log(file);
      }
    }
  }
</script>

3.vue中后台直接接收文件

有时没有专门的文件服务器的时候,后台直接接受文件,应使用formdata的方式提交

<el-form :inline="true" :model="formInline" ref="formInline" enctype="multipart/form-data">
            <el-form-item label="图层名称">
              <el-input v-model="formInline.layerName " placeholder="图层名称"></el-input>
            </el-form-item>
           <el-form-item label="文件"  :rules="[
                { required: true, message: '文件不能为空'},
              ]"
                         prop="file">
               <input type="file" ref="files" @change="getFile()" style=""/>
           </el-form-item>
            <el-form-item>
              <el-button type="primary" size='small' @click="handleSubmit('formInline')">添加</el-button>
              <el-button type="default" size='small' @click="handleback()">返回</el-button>
            </el-form-item>
          </el-form>

上传函数

 handleSubmit(formName){
              this.$refs[formName].validate((valid) => {
                  if (valid) {
                      let formData=new window.FormData();
                      formData.append('file',this.formInline.file)
                      formData.append('layerName',this.formInline.layerName)
                      api.addEntity(formData).then(data=>{
                      })
                  }
              }
}
getFile(){
      this.formInline.file=this.$refs.files.files[0];
 },

相关文章

  • (一)文件上传的三种方式

    1.表单提交(后台直接接收文件) 2.vue中使用相关组件(elementui) 这种方式是搭建有专门的文件服务器...

  • Spring文件上传三种形式演示v1.0

    Spring上传文件 工作中用的最多的就是上传,目前上传大概有三种形式:单文件,多文件,Base64三种形态,sp...

  • The temporary upload location xx

    需要配置上传文件的缓存路径,并创建对应目录,三种方式1、yml文件配置 2、启动文件添加 3、新建配置文件 参考文...

  • AFNetworking 3.X 简单使用

    一、网络请求: GET方式: POST方式: 二、文件上传: 通过工程中的文件上传 根据URL路径上传 三、文件下...

  • php文件上传

    单文件上传实现: 文件上传代码参考:文件上传 多文件上传实现: 前台调用: shell方式 浏览器方式: 后台处理...

  • 文件上传

    前端工作中经常会遇到文件上传方面的问题,现在就一些注意点作已总结。通常我们会通过三种方式得到用户上传的文件: 通过...

  • 设置tomcat虚拟路径的两种方法(Eclipse、tomcat

    三种方式设置虚拟服务器路径 如果我们要实现一个上传文件的功能,但是又想要上传的文件不会随着自己web服务器的重启而...

  • SpringMVC实现文件上传「传统方式上传、跨服务器上传」

    SpringMVC实现文件上传 文件上传的知识回顾 文件上传的必要前提 导入文件上传的jar包 传统方式上传文件 ...

  • 应用上传(pgyer)

    上传应用的三种方式 开发者可以通过三种方式来上传应用: 通过蒲公英的网站上传应用 通过蒲公英桌面客户端上传应用 通...

  • FileReader

    FileReader用来实现文案上传前预先的读写可实现公共文件读写的三种方式1、readAsText():读取文本...

网友评论

      本文标题:(一)文件上传的三种方式

      本文链接:https://www.haomeiwen.com/subject/idxdnctx.html