php 如何寫api給別人使用?

发布于 2022-09-06 23:27:39 字数 224 浏览 12 评论 0

我現在需要寫一隻api
是讓別人可以上傳圖片到我的伺服器上的特定目錄夾
但我不知道怎麼著手?
概念是
對方透過 enctype="multipart/form-data"
可以把圖片丟到我這裡
我會用json回傳URL給對方

上傳機制我已經有了

$_FILES['myFile_avatar']
move_uploaded_file

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牵强ㄟ 2022-09-13 23:27:39

api 所在的域名是否和 api调用方 所在的域名是一致的??如果不一致,则要考虑下跨域的问题。

假设 api 所在的域名是:http://api.com,调用方所在的域名是 http://get.com

我定义了一个 api 如下:

// 如果是api和调用方在同一个域名下,那么不用加这个头部
// 这边由于跨域!所以需要加 cors 相关头部
// 具体含义请百度
header('Access-Control-Allow-Origin: http://get.com');
header('Access-Control-Allow-Credentials: true');

class UploadFile {
    public function upload(){
        // 图片上传处理 ...
    }
}

调用的时候 http://api.com/UploadFile/upload 然后加上所需的参数。


调用方 js

var apiUrl = 'http://api.com/UploadFile/upload';
// 构造表单对象
var formData = new FormData();
    // 添加文件
    formData.append('file' , file);
var xhr = new XMLHttpRequest();
    xhr.open('post' , apiUrl , true);
    xhr.onreadystatechange = function(){
        ...
    };
    xhr.send(formData);
∞觅青森が 2022-09-13 23:27:39
  1. 首先整理下需求,别人上传到你的伺服器,只上传文档么?需不需要额外讯息?
  2. 其次需要设计接口:是不是需要统一化的目录?比如URL可以是www.xxx.com/api/postFile,那么这个需求怎么通过URL Rewrite来实现;另外通讯使用的方法是GET还是POST(不过你这个比较明显需要用到POST);怎么处理用户发过来的额外讯息;用户调用接口后返回的正确/错误信息等。
  3. 上边这些,一个个解决掉,然后整理成接口文档。
  4. 功能上线联调。
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文