1. 阿里云OSS创建存储空间Bucket(读写权限为:公共读)
2. 拿到相关配置
accessKeyId:*********
accessKeySecret:*********
endpoint:********
bucket:********
3.创建 oss.php 上传类 (基于thinkPHP5)
<?php
namespace app\controller;
use OSS\OssClient;
class Oss {
private static $_instance;
private function __construct() {
}
private function __clone() {
}
/**
* 获取一个OssClient实例
* @return null|OssClient
*/
public static function getInstance() {
if (!(self::$_instance instanceof OssClient)) {
try {
self::$_instance = new OssClient(env(‘oss.access_key_id‘), env(‘oss.access_key_secret‘), env(‘oss.endpoint‘), false);
} catch (OssException $e) {
printf(__FUNCTION__ . "creating OssClient instance: FAILED\n");
printf($e->getMessage() . "\n");
return null;
}
}
return self::$_instance;
}
/**
* 获取bucket
* @return string
*/
public static function getBucketName()
{
return env(‘oss.bucket‘);
}
}
3.上传调用
use app\controller\Oss;
public function addShopImg(){
$this->checkParams(‘shop_id‘);
$file = $this->request->file(‘image‘);
if ($file && ($file->getError() == ‘‘) && $file->checkImg() && $file->checkSize(5*1024*1024)) {
$info = $file->move(APP_PATH . ‘../public/upload/shops/‘);
//上传图片至阿里云oss
$fileName = ‘biz_oss/upload/shops/‘ . $info->getFilename();
$ossClient = Oss::getInstance();
$bucket = Oss::getBucketName();
$ossClient->uploadFile($bucket, $fileName, $info->getPathname());
$data[‘shop_img‘] = ‘/upload/shops/‘.$info->getFilename();
$data[‘shop_id‘] = $this->params[‘shop_id‘];
$re = db(‘shopImg‘)->insert($data);
if($re){
Api::output();
}else{
Api::fail(2, ‘上传失败‘);
}
} else {
Api::fail(1, ‘图片不合规‘);
}
}
4.访问 oss域名地址 不可在浏览器直接访问 可用nginx 代理
配置中加入:
location ^~ /biz_oss {
proxy_pass http://xxxxxx.oss-cn-shenzhen-internal.aliyuncs.com;
}
重启nginx
nginx配置的域名(server_name)后接上 /biz_oss 如:kwdst.3ce.com/biz_oss 即可指向oss上资源存储的空间
如下 $oss_url = kwdst.3ce.com/biz_oss
如此浏览器中html 即可访问加载 oss上图片资源。
HTML5 为我们提供了 File API 相关规范。主要涉及 File 接口 和 FileReader 对象 。本文整理了兼容性检测、文件选择、属性读取、文件读取、进度监控、大文件分片上传以及拖拽上传等开发中常见的前端文件操作。
获取文件筐的文件集合,创建FormData对象 相当于参数集合 存储方式是键值对,添加第一个文件到FormData,添加普通数据 后台直接参数接受,创建异步对象
假如我们有这样一个javascript文件,它叫dom.js,不过随着版本的不同,它可能叫dom.1.0.js, dom.1.2.js,或者dom-1.2.js。我们要求在这个文件内写一些代码,获得它的路径,然后跟据它动态加载这个路径下的其他JS文件
正常直接使用opendir方法,就可以读到所有的目录和文件。文件可以直接记录下来,目录则需要再进一步获取里边的文件信息。也就是,如果当前读出来是目录,则需要再次调用函数本身(递归)
header() 函数向客户端发送原始的 HTTP 报头。认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数
从 Yarn 横空出世推出 lock 文件以来,已经两年多时间了,npm 也在 5.0 版本加入了类似的功能,lock 文件越来越被开发者们接收和认可。本篇文章想从前端视角探讨一下我们为什么需要 lock 文件,以及它的一些成本与风险,当然其中一些观点对于后端也是适用的
最传统的文件上传方法是使用form表单上传文件的,只需要把enctype设置为 multipart/form-data。这种方式上传文件不需要 js ,而且没有兼容问题,所有浏览器都支持,就是体验很差,导致页面刷新,页面其他数据丢失
免费纯前端方式实现在线预览word、excel、ppt最优选择微软在线预览(不可编辑),利用后端将文件转为图片,前端以图片形式预览(可行方案)
将其他js文件与nodejs文件放在同一目录下,然后在nodejs文件中使用require(\\\'js文件路径\\\');将其他js文件引入到nodejs文件中,就可以直接调用其他js文件内容了。
nodejs fs怎么读取文件是否存在?下面本篇文章就来给大家介绍一下使用nodejs fs模块读取并判断文件是否存在的方法,希望对大家有所帮助。在nodejs中,可以使用fs模块的access()方法来读取、判断文件是否存在。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!