js获得相对路径文件,并上传到服务器

这篇具有很好参考价值的文章主要介绍了js获得相对路径文件,并上传到服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如何通过js获得相对路径文件

已知一个相对路径文件,如何使用js将该文件读取为File格式,最后上传到服务器中呢。

1.最简单的解决方案——fetch

  • 代码

    import './index.scss'
    
    // js通过相对路径获取文件
    function FetchGetLocalFile() {
      const fetchLocalFile = (path: string) => {
        // 使用fetch API加载图片文件
        fetch(path)
          .then(function (response) {
            return response.blob() // 获取图片文件的二进制数据
          })
          .then(function (blob) {
            // 获取文件名
            let temp: any = path?.split('/')
            let name = temp[temp?.length - 1]
            // 创建File对象
            let file = new File([blob], name, { type: blob.type })
            console.log('通过fetch读取的本地文件', file)
          })
          .catch(function (error) {
            console.log('加载文件失败:', error)
          })
      }
      return (
        <div>
          <h1 className="h1-color">js通过相对路径获取文件</h1>
          <button onClick={() => fetchLocalFile('/src/components/fetch-get-local-file/luffy.png')}>获取文件</button>
        </div>
      )
    }
    
    export default FetchGetLocalFile
    
    • 结果
    • js能不能获取到相对路径,前端随笔,javascript,react,前端,文件上传

2. File

File() 构造器创建新的 File 对象实例(文件对象)

  • 语法

    const myFile = new File(bits, name[, options]);
    
    • 参数

      • bits

        一个包含ArrayBufferArrayBufferViewBlob,或者 DOMString 对象的 Array — 或者任何这些对象的组合。这是 UTF-8 编码的文件内容。

      • name

        表示文件名称,或者文件路径。

      • options 可选

        选项对象,包含文件的可选属性。可用的选项如下:

        • type: 表示将要放到文件中的内容的 MIME 类型。默认值为 ""
        • lastModified: 数值,表示文件最后修改时间的 Unix 时间戳(毫秒)。默认值为 Date.now()
  • 每个File类型对象都有有些只读属性

    • name:本地系统中的文件名
    • size:以字节计的文件大小
    • type:包含文件MIME类型的字符串
    • lastModifiedDate:表示文件的最后修改时间
  • File接口基于Blob,稍后将介绍Blob

    File 接口没有定义任何方法,但是它从 Blob 接口继承了以下方法:

    • Blob.slice
      • Blob.slice([start[, end[, contentType]]])
    • 返回一个新的 Blob 对象,它包含有源 Blob 对象中指定范围内的数据。

3. Blob

binary large object:二进制大对象

Blob 对象表示一个不可变、原始数据的类文件对象。它的数据可以按文本或二进制的格式进行读取,也可以转换成 ReadableStream 来用于数据操作。

Blob 表示的不一定是 JavaScript 原生格式的数据。File 接口基于 Blob,继承了 Blob 的功能并将其扩展以支持用户系统上的文件。

  • 打印出的Blob对象:详细说明
    js能不能获取到相对路径,前端随笔,javascript,react,前端,文件上传

  • 部分读取使用Blob.slice([start[, end[, contentType]]])

4. fetch

Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分,例如请求和响应。它还提供了一个全局 fetch() 方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。

  • 用法

    • fetch()接受一个 URL 字符串作为参数,默认向该网址发出 GET 请求,返回一个 Promise 对象。

    • 基本示例

      fetch(url)
          .then((response)=>{})
          .catch((err)=>{})
      
    • fetch()接收到的response是一个 Stream 对象,因此只能被读取一次,更多用法见Fetch API文章来源地址https://www.toymoban.com/news/detail-807634.html

到了这里,关于js获得相对路径文件,并上传到服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序上传头像的临时路径,持久化保存到服务器与数据库(nodejs后台开发)

    从微信小程序中返回的用户头像临时地址 http://tmp/H0GP7BW5HTQs846c0d9deef32d42f2203340efc4a5c3.jpeg 会失效,且只能一段时间内在微信访问,并且无法在公网访问用户头像临时地址avatarUrl。 所以需要将临时地址avatarUrl转成实际可用的地址保存到mysql数据库的wxusers表的avatarUrl列中,同时将

    2024年02月14日
    浏览(58)
  • MacOS VSCode 配置远程服务器ssh remote链接,并上传文件文件服务器

    环境: MacOS VSCode ssh remote 1. VSCode安装插件 2. 配置ssh remote链接 配置完保存; 3. 在ssh remote可以查看到配置好的远程连接 右侧两个一个是在当前窗口打开远程链接,一个是在新窗口打开远程连接,选择一个即可,我倾向于选择一个新窗口。 此时,如果远程文件夹是新创建的话

    2024年02月03日
    浏览(61)
  • SpringBoot上传文件到Minio服务器,支持批量上传

    本文主要介绍如何使用SpringBoot上传到minio服务器。 没什么可多说的,公司用什么咱们开发研究什么就完事了。直接分享核心代码。 minio依赖 配置文件 首先是核心的参数,包括服务器minio地址,以及用户名密码,使用的桶名称 controller代码 如果只需要上传文件,只需要Multipa

    2024年02月08日
    浏览(47)
  • 上传本地文件到HDFS服务器

    在这篇文章中,我将详细介绍如何将本地文件上传到HDFS(分布式文件系统)服务器。我们将使用Hadoop命令行工具来完成这个任务。 首先,确保你已经安装了Hadoop并且HDFS服务器正在运行。接下来,我们将按照以下步骤进行操作: 步骤 1: 检查HDFS文件系统 在上传文件之前,我们

    2024年02月04日
    浏览(47)
  • java上传文件到指定服务器

    首先要知道服务器的用户名和密码。 注意:一般情况,如果不是强制要求,尽量不要将文件上传到服务器 步骤: 1.导入依赖 !--图片上传到服务器需要的依赖--         dependency             groupIdcom.jcraft/groupId             artifactIdjsch/artifactId             version0.1.54/version

    2024年01月21日
    浏览(52)
  • JAVA实现文件上传到服务器

    java如何实现大文件断点续传、秒传,JAVA实现文件上传到服务器,jsp实现文件上传到服务器,SpringBoot实现文件上传到服务器,SpringMVC实现文件上传到服务器,SpringCloud实现文件上传到服务器,webuploader实现文件上传到服务器,百度webuploader实现文件上传到服务器,JAVA如何将文件

    2024年04月27日
    浏览(57)
  • mac PyCharm 上传文件到远程服务器+远程服务器下载到本地

    选择SFTP name:test6 输入ssh账号和密码。保存密码和30s心跳。 Local path(本地mac机器):/Users/clevercode/PycharmProjects/test6 Root path(远程服务机器):/home/clevercode/test6 Root path(远程服务机器):/home/clevercode/test6 [2024/1/18, 10:56 AM] Upload file ‘/Users/clevercode/PycharmProjects/test6/f100.py’ t

    2024年01月19日
    浏览(85)
  • Unity如何上传一个文件到服务器

    在游戏开发过程中,有时候需要上传一些文件到远程服务器上,比如游戏资源文件、玩家数据等等。在Unity中,我们可以使用UnityWebRequest类来实现文件上传功能。本文将详细介绍Unity如何上传一个文件到服务器,并给出Unity与服务器的核心代码实现。 对啦!这里有个游戏开发交

    2023年04月18日
    浏览(66)
  • springmvc上传多文件到指定服务器

    package com.store.liqiang.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; public class FileUpload { @SuppressWarnin

    2024年04月15日
    浏览(56)
  • Spring MVC异步上传、跨服务器上传和文件下载

    之前的上传方案,在上传成功后都会跳转页面。而在实际开发中,很多情况下上传后不进行跳转,而是进行页面的局部刷新,比如:上传头像成功后将头像显示在网页中。这时候就需要使用异步文件上传。 编写JSP页面,引入jQuery和jQuery表单上传工具jquery.form.js【该js文件已经

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包