* [bug#67599, done] 【iOS】Failed to upload 【Attachment】 when creating R & D requirements.

This commit is contained in:
liuruogu
2025-12-31 08:59:21 +00:00
parent df21b6b5a5
commit 8d0b1b2e47
2 changed files with 43 additions and 0 deletions
+37
View File
@@ -962,6 +962,36 @@ class fileModel extends model
return !dao::isError();
}
/**
* Get upload by uid.
*
* @param array|string|bool $uid
* @param string $filesName
* @param string $labelsName
* @access public
* @return array
*/
public function getUploadByUID(array|string|bool $uid, string $filesName = 'files', string $labelsName = 'labels'): array
{
if(empty($uid)) return array();
if(is_string($uid)) $uid = array($uid);
if(!is_array($uid)) return array();
$files = array();
foreach($uid as $value)
{
if(empty($_SESSION['album']['used'][$value])) continue;
$uidFiles = $this->dao->select('id, title')->from(TABLE_FILE)->where('id')->in($_SESSION['album']['used'][$value])->fetchPairs();
foreach($uidFiles as $fileID => $fileName)
{
$files[$fileID] = $fileName;
}
}
return $files;
}
/**
* Revert real src.
*
@@ -1471,6 +1501,13 @@ class fileModel extends model
$addedFiles = $this->saveUpload($objectType, $oldObject->id, $extra, $filesName, $labelsName);
if(defined('RUN_MODE') && RUN_MODE === 'api')
{
$uidFiles = $this->getUploadByUID($this->post->uid, $filesName, $labelsName);
$addedFiles = $addedFiles + $uidFiles;
}
if(!isset($oldObject->{$filesName})) $oldObject->{$filesName} = array();
$files = array_diff(array_keys($oldObject->{$filesName}), array_keys($deleteFiles));
$files = array_merge($files, array_keys($addedFiles));
+6
View File
@@ -559,6 +559,12 @@ class storyModel extends model
$this->loadModel('file')->updateObjectID($this->post->uid, $storyID, $story->type);
$files = $this->file->saveUpload($story->type, $storyID, 1);
if(defined('RUN_MODE') && RUN_MODE === 'api')
{
$uidFiles = $this->file->getUploadByUID($this->post->uid);
$files = $files ? ($files + $uidFiles) : $uidFiles;
}
/* Add story spec verify. */
$this->storyTao->doCreateSpec($storyID, $story, $files ?: '');