账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    文件应该如何上传
    20
    0

    想用koa2写接收客户端上传文件并存储的功能但是用ctx.body没有接收到post给服务器的文件
    有几个地方不是很清楚 有知道其中任意问题的希望能来解惑,不胜感激,能解决任意问题必赞同,谢谢
    1、 <input type="file" multiple onchange="fileinfo(this.files)" name="up"> 应该是可以选择多个文件,但是我还是只能选择一个,是不是我的写法问题?
    2、在只有一个文件的情况下,这个文件是不是onchange事件的参数列表的第一个,也就是如下代码中的files[0]?但是我输出的只有文件信息,这个文件是blob格式的吗?

     function fileinfo (files) {
          console.log(files[0])
      }

    3、文件上传服务器是否可以直接用XMLHttpRequest,还是应该responseType = blob,或者其他什么方式向服务器发送文件

    var xhr = new XMLHttpRequest();
        xhr.open('POST', 'http://localhost:3000');
        xhr.setRequestHeader('')
        xhr.send(a[0]) //这里的a就是onchange的参数

    4、不知道是不是我之前流程写的不对,总之ctx.body没有拿到数据.我的input是在form内的,但并非通过form上传,是不是还需要什么中间件进行数据接收,才可以拿到客户端post的数据?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╭ァ瑾色残年い 普通会员 1楼

      文件上传是网页开发中非常常见的一个需求,通常在HTML表单中用于用户提交数据。在前端开发中,我们通常使用JavaScript和HTML5的File API来实现文件的上传。

      以下是一个简单的HTML文件上传的示例:

      ```html

      ```

      在这个示例中,我们首先获取了文件输入元素,并设置了accept属性来限制只能接受.jpg.png.gif等格式的文件。然后我们监听了表单的submit事件,当表单提交时,我们会阻止默认的表单提交行为。然后我们获取了文件输入元素,并使用FileReader对象来读取文件。当文件读取完成时,我们获取了文件的数据URL,可以在这个URL中处理文件数据。

      注意,FileReader对象只能读取文本文件,如果文件是图片或其他类型的文件,你需要使用其他方法来读取它们。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部