优化文件上传
This commit is contained in:
parent
0555d29d8c
commit
20c560c80e
@ -82,6 +82,7 @@ class File extends BasicApi
|
|||||||
*/
|
*/
|
||||||
public function uploadFiles()
|
public function uploadFiles()
|
||||||
{
|
{
|
||||||
|
set_time_limit(0);
|
||||||
$data = Request::post();
|
$data = Request::post();
|
||||||
$fileName = $data['identifier'];
|
$fileName = $data['identifier'];
|
||||||
$orgFileName = $data['filename'];
|
$orgFileName = $data['filename'];
|
||||||
@ -107,19 +108,23 @@ class File extends BasicApi
|
|||||||
];
|
];
|
||||||
$result = [];
|
$result = [];
|
||||||
$type = empty($file_storage) ? sysconf('storage_type') : $file_storage;
|
$type = empty($file_storage) ? sysconf('storage_type') : $file_storage;
|
||||||
|
$path2 = config('upload.base_path') . config('upload.file') . "/{$orgCode}/{$memberCode}/$date/$ticket-$orgFileName";
|
||||||
if ($chunkNumber == $totalChunks) {
|
if ($chunkNumber == $totalChunks) {
|
||||||
$fileList = [];
|
$fileList = [];
|
||||||
$blob = '';
|
// $blob = '';
|
||||||
for ($i = 1; $i <= $totalChunks; $i++) {
|
for ($i = 1; $i <= $totalChunks; $i++) {
|
||||||
$ext = explode('.', $orgFileName);
|
$ext = explode('.', $orgFileName);
|
||||||
$ext = $ext[count($ext) - 1];
|
$ext = $ext[count($ext) - 1];
|
||||||
$fileUrl = "{$path}/{$fileName}-{$i}.{$ext}";
|
$fileUrl = "{$path}/{$fileName}-{$i}.{$ext}";
|
||||||
$site_url = FileService::getFileUrl($fileUrl, 'local');
|
$site_url = FileService::getFileUrl($fileUrl, 'local');
|
||||||
$blob .= file_get_contents($site_url);
|
$blob = file_get_contents($site_url);
|
||||||
|
// $blob .= file_get_contents($site_url);
|
||||||
$fileList[] = env('root_path') . $fileUrl;
|
$fileList[] = env('root_path') . $fileUrl;
|
||||||
|
$result = FileService::$type($path2, $blob);
|
||||||
|
unset($blob);
|
||||||
|
unset($site_url);
|
||||||
}
|
}
|
||||||
$path = config('upload.base_path') . config('upload.file') . "/{$orgCode}/{$memberCode}/$date/$ticket-$orgFileName";
|
//Allowed memory size of 1073741824 bytes exhausted (tried to allocate 534773792 bytes)
|
||||||
$result = FileService::$type($path, $blob);
|
|
||||||
$fileData['size'] = $data['totalSize'];
|
$fileData['size'] = $data['totalSize'];
|
||||||
$fileData['path_name'] = $result['key'];
|
$fileData['path_name'] = $result['key'];
|
||||||
$fileData['file_url'] = $result['url'];
|
$fileData['file_url'] = $result['url'];
|
||||||
|
@ -310,7 +310,7 @@ class FileService
|
|||||||
try {
|
try {
|
||||||
$realfile = env('root_path') . $filename;
|
$realfile = env('root_path') . $filename;
|
||||||
!file_exists(dirname($realfile)) && mkdir(dirname($realfile), 0755, true);
|
!file_exists(dirname($realfile)) && mkdir(dirname($realfile), 0755, true);
|
||||||
if (file_put_contents($realfile, $content)) {
|
if (file_put_contents($realfile, $content, FILE_APPEND)) {
|
||||||
$url = pathinfo(request()->baseFile(true), PATHINFO_DIRNAME) . '/' . $filename;
|
$url = pathinfo(request()->baseFile(true), PATHINFO_DIRNAME) . '/' . $filename;
|
||||||
return ['file' => $realfile, 'hash' => md5_file($realfile), 'key' => "{$filename}", 'url' => $url];
|
return ['file' => $realfile, 'hash' => md5_file($realfile), 'key' => "{$filename}", 'url' => $url];
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user