Skip to content

图传 By 飙鸡

小傅哥 edited this page Aug 31, 2020 · 2 revisions

作者:黑小马

阿里图传

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import top.hserver.core.ioc.annotation.Bean;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
 * 阿里巴巴国际的图片上传
 *
 * @author hxm
 */
@Bean
public class AliService {

    /**
     * 图片上传
     */
    public static String uploadImg(File file){
        try {
            InputStream inputStream = new FileInputStream(file);
            Map<String,String> head=new HashMap<String, String>();
            head.put("User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0");
            head.put("Referer","https://www.alibaba.com/");
            head.put("Origin","https://www.alibaba.com");
            head.put("Host","kfupload.alibaba.com");
            String text = Jsoup.connect("https://kfupload.alibaba.com/kupload").headers(head).data("name", file.getName()).data("scene", "scImageSearchNsRule").data("file", file.getName(), inputStream).ignoreContentType(true).post().body().text();
            JSONObject jsonObject = JSON.parseObject(text);
            return jsonObject.getString("url");
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
    public static void main(String[] args) {
        uploadImg(new File("C:\\Users\\hxm\\Pictures\\a.jpg"));
    }
}

头条图传

package top.hserver.api.figurebed.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.jsoup.Jsoup;
import top.hserver.core.ioc.annotation.Bean;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
 * 今日头条首页中的.富文本编辑器中的图床
 *
 * @author hxm
 */
@Bean
public class TouTiaoService {
    /**
     * 图片上传
     * @param file
     * @return
     */
    public static String uploadImg(File file) {
        try {
            InputStream inputStream = new FileInputStream(file);
            Map<String, String> head = new HashMap<String, String>();
            head.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0");
            String text = Jsoup.connect("https://www.toutiao.com/mp/agw/article_material/photo/upload_picture/?without_check=1&type=ueditor&pgc_watermark=1&action=uploadimage&encode=utf-8").headers(head).data("type","image/png").data("upfile", file.getName(), inputStream).ignoreContentType(true).post().body().text();
            JSONObject jsonObject = JSON.parseObject(text);
            return jsonObject.getString("url");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        String s = uploadImg(new File("C:\\Users\\hxm\\Pictures\\a.jpg"));
        System.out.println(s);
    }

}

网易严选

package top.hserver.api.figurebed.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.jsoup.Jsoup;
import top.hserver.core.ioc.annotation.Bean;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

/**
 * 网易严选,商品反馈底部接口
 * @author hxm
 */
@Bean
public class YanXuanService {

    /**
     * 图片上传
     * @param file
     * @return
     */
    public static String uploadImg(File file) {
        try {
            InputStream inputStream = new FileInputStream(file);
            Map<String, String> head = new HashMap<String, String>();
            head.put("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0");
            head.put("Host", "you.163.com");
            String text = Jsoup.connect("http://you.163.com/xhr/file/upload.json").headers(head).data("file", file.getName(), inputStream).ignoreContentType(true).post().body().text();
            JSONObject jsonObject = JSON.parseObject(text);
            return jsonObject.getJSONArray("data").getString(0);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        uploadImg(new File("C:\\Users\\hxm\\Pictures\\a.jpg"));
    }
}

以上接口更具网络上流传的接口进行分析 挖掘发现.网络库 Jsoup

📝 首页

🌏 知识星球码农会锁

实战项目:「DDD+RPC分布式抽奖系统」、专属小册、问题解答、简历指导、架构图稿、视频课程

🐲 头条

⛳ 目录

  1. 源码 - :octocat: 公众号:bugstack虫洞栈 文章所涉及到的全部开源代码
  2. Java
  3. Spring
  4. 面向对象
  5. 中间件
  6. Netty 4.x
  7. 字节码编程
  8. 💯实战项目
  9. 部署 Dev-Ops
  10. 📚PDF 下载
  11. 关于

💋 精选

🐾 友链

建立本开源项目的初衷是基于个人学习与工作中对 Java 相关技术栈的总结记录,在这里也希望能帮助一些在学习 Java 过程中遇到问题的小伙伴,如果您需要转载本仓库的一些文章到自己的博客,请按照以下格式注明出处,谢谢合作。

作者小傅哥
链接https://bugstack.cn
来源bugstack虫洞栈

2021年10月24日,小傅哥 的文章全部开源到代码库 CodeGuide 中,与同好同行,一起进步,共同维护。

这里我提供 3 种方式:

  1. 提出 Issue :在 Issue 中指出你觉得需要改进/完善的地方(能够独立解决的话,可以在提出 Issue 后再提交 PR )。
  2. 处理 Issue : 帮忙处理一些待处理的 Issue
  3. 提交 PR: 对于错别字/笔误这类问题可以直接提交PR,无需提交Issue 确认。

详细参考:CodeGuide 贡献指南 - 非常感谢你的支持,这里会留下你的足迹

  • 加群交流 本群的宗旨是给大家提供一个良好的技术学习交流平台,所以杜绝一切广告!由于微信群人满 100 之后无法加入,请扫描下方二维码先添加作者 “小傅哥” 微信(fustack),备注:加群。
微信:fustack

  • 公众号(bugstack虫洞栈) - 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。
公众号:bugstack虫洞栈

感谢以下人员对本仓库做出的贡献或者对小傅哥的赞赏,当然不仅仅只有这些贡献者,这里就不一一列举了。如果你希望被添加到这个名单中,并且提交过 Issue 或者 PR,请与我联系。

Clone this wiki locally