mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-07-24 00:55:35 +08:00
fix some bug and add HTTP image upload
This commit is contained in:
140
config/file_header.json
Normal file
140
config/file_header.json
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
{
|
||||||
|
"ai": "application/postscript",
|
||||||
|
"aif": "audio/x-aiff",
|
||||||
|
"aifc": "audio/x-aiff",
|
||||||
|
"aiff": "audio/x-aiff",
|
||||||
|
"asc": "text/plain",
|
||||||
|
"au": "audio/basic",
|
||||||
|
"avi": "video/x-msvideo",
|
||||||
|
"bcpio": "application/x-bcpio",
|
||||||
|
"bin": "application/octet-stream",
|
||||||
|
"bmp": "image/bmp",
|
||||||
|
"cdf": "application/x-netcdf",
|
||||||
|
"class": "application/octet-stream",
|
||||||
|
"cpio": "application/x-cpio",
|
||||||
|
"cpt": "application/mac-compactpro",
|
||||||
|
"csh": "application/x-csh",
|
||||||
|
"css": "text/css",
|
||||||
|
"dcr": "application/x-director",
|
||||||
|
"dir": "application/x-director",
|
||||||
|
"djv": "image/vnd.djvu",
|
||||||
|
"djvu": "image/vnd.djvu",
|
||||||
|
"dll": "application/octet-stream",
|
||||||
|
"dms": "application/octet-stream",
|
||||||
|
"doc": "application/msword",
|
||||||
|
"dvi": "application/x-dvi",
|
||||||
|
"dxr": "application/x-director",
|
||||||
|
"eps": "application/postscript",
|
||||||
|
"etx": "text/x-setext",
|
||||||
|
"exe": "application/octet-stream",
|
||||||
|
"ez": "application/andrew-inset",
|
||||||
|
"gif": "image/gif",
|
||||||
|
"gtar": "application/x-gtar",
|
||||||
|
"hdf": "application/x-hdf",
|
||||||
|
"hqx": "application/mac-binhex40",
|
||||||
|
"htm": "text/html",
|
||||||
|
"html": "text/html",
|
||||||
|
"ice": "x-conference/x-cooltalk",
|
||||||
|
"ief": "image/ief",
|
||||||
|
"iges": "model/iges",
|
||||||
|
"igs": "model/iges",
|
||||||
|
"jpe": "image/jpeg",
|
||||||
|
"jpeg": "image/jpeg",
|
||||||
|
"jpg": "image/jpeg",
|
||||||
|
"js": "application/x-javascript",
|
||||||
|
"kar": "audio/midi",
|
||||||
|
"latex": "application/x-latex",
|
||||||
|
"lha": "application/octet-stream",
|
||||||
|
"lzh": "application/octet-stream",
|
||||||
|
"m3u": "audio/x-mpegurl",
|
||||||
|
"man": "application/x-troff-man",
|
||||||
|
"me": "application/x-troff-me",
|
||||||
|
"mesh": "model/mesh",
|
||||||
|
"mid": "audio/midi",
|
||||||
|
"midi": "audio/midi",
|
||||||
|
"mif": "application/vnd.mif",
|
||||||
|
"mov": "video/quicktime",
|
||||||
|
"movie": "video/x-sgi-movie",
|
||||||
|
"mp2": "audio/mpeg",
|
||||||
|
"mp3": "audio/mpeg",
|
||||||
|
"mpe": "video/mpeg",
|
||||||
|
"mpeg": "video/mpeg",
|
||||||
|
"mpg": "video/mpeg",
|
||||||
|
"mpga": "audio/mpeg",
|
||||||
|
"ms": "application/x-troff-ms",
|
||||||
|
"msh": "model/mesh",
|
||||||
|
"mxu": "video/vnd.mpegurl",
|
||||||
|
"nc": "application/x-netcdf",
|
||||||
|
"oda": "application/oda",
|
||||||
|
"pbm": "image/x-portable-bitmap",
|
||||||
|
"pdb": "chemical/x-pdb",
|
||||||
|
"pdf": "application/pdf",
|
||||||
|
"pgm": "image/x-portable-graymap",
|
||||||
|
"pgn": "application/x-chess-pgn",
|
||||||
|
"png": "image/png",
|
||||||
|
"pnm": "image/x-portable-anymap",
|
||||||
|
"ppm": "image/x-portable-pixmap",
|
||||||
|
"ppt": "application/vnd.ms-powerpoint",
|
||||||
|
"ps": "application/postscript",
|
||||||
|
"qt": "video/quicktime",
|
||||||
|
"ra": "audio/x-realaudio",
|
||||||
|
"ram": "audio/x-pn-realaudio",
|
||||||
|
"ras": "image/x-cmu-raster",
|
||||||
|
"rgb": "image/x-rgb",
|
||||||
|
"rm": "audio/x-pn-realaudio",
|
||||||
|
"roff": "application/x-troff",
|
||||||
|
"rpm": "audio/x-pn-realaudio-plugin",
|
||||||
|
"rtf": "text/rtf",
|
||||||
|
"rtx": "text/richtext",
|
||||||
|
"sgm": "text/sgml",
|
||||||
|
"sgml": "text/sgml",
|
||||||
|
"sh": "application/x-sh",
|
||||||
|
"shar": "application/x-shar",
|
||||||
|
"silo": "model/mesh",
|
||||||
|
"sit": "application/x-stuffit",
|
||||||
|
"skd": "application/x-koan",
|
||||||
|
"skm": "application/x-koan",
|
||||||
|
"skp": "application/x-koan",
|
||||||
|
"skt": "application/x-koan",
|
||||||
|
"smi": "application/smil",
|
||||||
|
"smil": "application/smil",
|
||||||
|
"snd": "audio/basic",
|
||||||
|
"so": "application/octet-stream",
|
||||||
|
"spl": "application/x-futuresplash",
|
||||||
|
"src": "application/x-wais-source",
|
||||||
|
"sv4cpio": "application/x-sv4cpio",
|
||||||
|
"sv4crc": "application/x-sv4crc",
|
||||||
|
"swf": "application/x-shockwave-flash",
|
||||||
|
"t": "application/x-troff",
|
||||||
|
"tar": "application/x-tar",
|
||||||
|
"tcl": "application/x-tcl",
|
||||||
|
"tex": "application/x-tex",
|
||||||
|
"texi": "application/x-texinfo",
|
||||||
|
"texinfo": "application/x-texinfo",
|
||||||
|
"tif": "image/tiff",
|
||||||
|
"tiff": "image/tiff",
|
||||||
|
"tr": "application/x-troff",
|
||||||
|
"tsv": "text/tab-separated-values",
|
||||||
|
"txt": "text/plain",
|
||||||
|
"ustar": "application/x-ustar",
|
||||||
|
"vcd": "application/x-cdlink",
|
||||||
|
"vrml": "model/vrml",
|
||||||
|
"wav": "audio/x-wav",
|
||||||
|
"wbmp": "image/vnd.wap.wbmp",
|
||||||
|
"wbxml": "application/vnd.wap.wbxml",
|
||||||
|
"wml": "text/vnd.wap.wml",
|
||||||
|
"wmlc": "application/vnd.wap.wmlc",
|
||||||
|
"wmls": "text/vnd.wap.wmlscript",
|
||||||
|
"wmlsc": "application/vnd.wap.wmlscriptc",
|
||||||
|
"wrl": "model/vrml",
|
||||||
|
"xbm": "image/x-xbitmap",
|
||||||
|
"xht": "application/xhtml+xml",
|
||||||
|
"xhtml": "application/xhtml+xml",
|
||||||
|
"xls": "application/vnd.ms-excel",
|
||||||
|
"xml": "text/xml",
|
||||||
|
"xpm": "image/x-xpixmap",
|
||||||
|
"xsl": "text/xml",
|
||||||
|
"xwd": "image/x-xwindowdump",
|
||||||
|
"xyz": "chemical/x-xyz",
|
||||||
|
"zip": "application/zip"
|
||||||
|
}
|
||||||
@@ -99,7 +99,7 @@ class ZMBuf
|
|||||||
}
|
}
|
||||||
|
|
||||||
static function config($config_name) {
|
static function config($config_name) {
|
||||||
return self::$config ?? null;
|
return self::$config[$config_name] ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function resetCache() {
|
public static function resetCache() {
|
||||||
|
|||||||
35
src/Module/Example/HttpImageManager.php
Normal file
35
src/Module/Example/HttpImageManager.php
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
namespace Module\Example;
|
||||||
|
|
||||||
|
use Co;
|
||||||
|
use Framework\Console;
|
||||||
|
use Framework\ZMBuf;
|
||||||
|
use ZM\Annotation\Http\RequestMapping;
|
||||||
|
use ZM\Annotation\Swoole\SwooleEventAfter;
|
||||||
|
use ZM\ModBase;
|
||||||
|
use ZM\Utils\DataProvider;
|
||||||
|
|
||||||
|
class HttpImageManager extends ModBase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param $param
|
||||||
|
* @RequestMapping("/images/{file_name}")
|
||||||
|
*/
|
||||||
|
public function innerImage($param) {
|
||||||
|
$filename = DataProvider::getResourceFolder() . "images/";
|
||||||
|
$param_name = $param["file_name"];
|
||||||
|
$param_name = strtolower($param_name);
|
||||||
|
if (mb_strpos($param_name, "..") !== false) {
|
||||||
|
$this->response->status(404);
|
||||||
|
$this->response->end();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$exp = explode(".", $param_name);
|
||||||
|
if (($type = array_pop($exp))) {
|
||||||
|
$this->response->header("Content-Type", ZMBuf::config("file_header")[$type] ?? "text/html");
|
||||||
|
}
|
||||||
|
$this->response->end(Co::readFile($filename . $param_name));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user