上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

【求助】如何读取文件上传

[复制链接]
  • TA的每日心情
    开心
    2022-6-2 15:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    13

    主题

    56

    回帖

    79

    积分

    初级工程师

    积分
    79

    油中2周年

    发表于 2022-10-27 18:00:17 | 显示全部楼层 | 阅读模式
    悬赏20油猫币未解决

    https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=3079&page=2#pid39840
    参照[油猴脚本开发指南]操作本地文件,可以读写本地文件了,就想试试上传文件
    https://juejin.cn/post/6844904016560783374
    https://zhuanlan.zhihu.com/p/31401799
    搜索了下资料像是是把file交给input,但不知道怎么写
    `// ==UserScript==
    // @name 上传图片到百度识图
    // @namespace http://tampermonkey.net/
    // @version 0.1
    // @description try to take over the world!
    // @author You
    // @match https://image.baidu.com/
    // ==/UserScript==

    (function() {
    'use strict';
    const button = document.createElement('button');
    button.innerText = "点我授权目录";
    document.body.firstChild.after(button);
    button.addEventListener('click', async function () {
    async function getFile() {
    // open directory picker
    const dirHandle = await window.showDirectoryPicker({mode:"readwrite"});
    console.log(dirHandle);

        const button2 = document.createElement('button');
        button2.innerText = "点我读取目录&写点东西";
        document.body.firstChild.after(button2);
        button2.addEventListener('click', async function () {
            // 读取目录
    
            for await (const item of dirHandle.values()) {
                console.log(item)//打开的文件夹只放了一个图片
                console.log(1)
                $("#stfile").files=item//这里瞎写的,怎么把文件传值给input呢
            }
            // 写文件
            // const fileHandle = await dirHandle.getFileHandle("hello-world.txt", { create: true });
            // const writable = await fileHandle.createWritable();
            // await writable.write("Hello World!");
            // await writable.close();
        });
    }
                getFile();

    });
    // Your code here...
    })();`

  • TA的每日心情
    开心
    2024-3-13 10:14
  • 签到天数: 211 天

    [LV.7]常住居民III

    293

    主题

    3897

    回帖

    3818

    积分

    管理员

    积分
    3818

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-10-27 19:25:10 | 显示全部楼层
    好像不能这么做 这个本地读取的文件,不能放到input里去

    只能通过ajax的方法去上传
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-3-8 11:41
  • 签到天数: 2 天

    [LV.1]初来乍到

    22

    主题

    862

    回帖

    1360

    积分

    荣誉开发者

    积分
    1360

    荣誉开发者卓越贡献油中2周年生态建设者油中3周年挑战者 lv2

    发表于 2022-10-27 21:09:31 | 显示全部楼层
    input不能手动改文件的,看了一下,直接调百度的接口比较方便:
    1. item.getFile().then(file => {
    2.     unsafeWindow.stInstance.shituUploadByHtml5(file);
    3. });
    复制代码
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表