Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Subir un archivo

Nota: Catalyst ahora te ofrece un nuevo componente de almacenamiento de objetos llamado Stratus en modo de Early Access. Este componente es una mejora significativa del componente actual Cloud Scale File Store. Puedes obtener más información sobre el componente Stratus aquí.

Para utilizar el componente Stratus en el modo de Early Access, envíanos un correo electrónico a support@zohocatalyst.com.

Puedes subir un archivo a una carpeta existente en File Store. Después de que el archivo se suba a la carpeta, se generará un ID de archivo único para él. Puedes subir una imagen, documento de texto, CSV o cualquier tipo de archivo que necesites de hasta 100MB de tamaño.

Puedes subir el archivo de cualquiera de las siguientes formas, como se describe a continuación. La <FOLDER_INSTANCE> utilizada en las secciones de código de todos los métodos a continuación es la instancia definida en la página de instancia de carpeta. Esto hará referencia a la carpeta en la que se debe subir el archivo.

Mediante Delegate

Puedes subir el archivo a la carpeta de la instancia de carpeta dada mediante un delegate. Esto se puede hacer de dos formas:

i. Pasando la ruta del archivo

Puedes pasar el ID de referencia del archivo y la ruta del archivo junto con el objeto del método delegate como argumentos al método upload():

copy
<FOLDER_INSTANCE>.upload( fileRefId : String, filePath : URL, fileUploadDelegate : ZCatalystFileUploadDelegate )

Parámetros:

  • fileRefId: Un ID de referencia único para identificar una tarea de subida específica. Este se devuelve en el método Delegate después de que la tarea se complete exitosamente.

  • filePath: La ruta del archivo a subir en el sistema local.

  • fileUploadDelegate: Una instancia del tipo ZCatalystFileUploadDelegate

A continuación se muestra un fragmento de código de ejemplo:

copy
func progress(fileRefId: String, session: URLSession, sessionTask: URLSessionTask, progressPercentage: Double, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {
	print("The percentage of file upload is \(progressPercentage)")
	}
	func didFinish(fileRefId: String, fileDetails: ZCatalystFile) {
	print("The file with reference id " + fileRefId + " is successfully uploaded.")
	}
	func didFail(fileRefId: String, with error: ZCatalystError?) {
	print("The file with reference id " + fileRefId + " upload has been failed due to \(ZCatalystError.self)")
	}
	}
let filePath = self.testBundle?.path( forResource : "companylogo", ofType : "jpeg" ) //Reemplazar con el nombre del archivo
let url = URL( fileURLWithPath : filePath! )
ZCatalystApp.shared.getFileStoreInstance().getFolderInstance( id : 2823000000006544 ).upload( fileRefId : fileRefId, filePath : url, fileUploadDelegate : self ) //Reemplaza esto con tu ID de carpeta

ii. Pasando los datos del archivo

Puedes pasar los datos del archivo junto con el objeto del método delegate como argumentos al método upload():

copy
<FOLDER_INSTANCE>.upload( fileRefId : String, fileName : String, fileData : Data, fileUploadDelegate : ZCatalystFileUploadDelegate )

Parámetros:

  • fileRefId: Un ID de referencia único para identificar una tarea de subida específica. Este se devuelve en el método Delegate después de que la tarea se complete exitosamente.

  • fileName: El nombre del archivo a subir.

  • fileData: El contenido del archivo del tipo Data

  • fileUploadDelegate: Una instancia del tipo ZCatalystFileUploadDelegate

A continuación se muestra un fragmento de código de ejemplo:

copy
func progress(fileRefId: String, session: URLSession, sessionTask: URLSessionTask, progressPercentage: Double, totalBytesSent: Int64, totalBytesExpectedToSend: Int64)
{
	print("The percentage of file upload is \(progressPercentage)")
	}
	func didFinish(fileRefId: String, fileDetails: ZCatalystFile)
	{
	print("The file with reference id " + fileRefId + " is successfully uploaded.")
	}
	func didFail(fileRefId: String, with error: ZCatalystError?)
	{
	print("The file with reference id " + fileRefId + " upload has been failed due to \(ZCatalystError.self)")
	}
}
if let data = image?.pngData()
ZCatalystApp.shared.getFileStoreInstance().getFolderInstance( id : 105000000121098 ).upload( fileRefId : "1234567", fileName : url.lastPathComponent, fileData: data, fileUploadDelegate : self ) //Reemplazar con el ID de referencia del archivo

Mediante Completion Handler

Puedes subir el archivo a la carpeta de la instancia de carpeta dada mediante un completion handler. Esto se puede hacer de dos formas:

i. Pasando la ruta del archivo

Puedes pasar la ruta del archivo junto con el completion handler como argumentos al método upload():

copy
<FOLDER_INSTANCE>.upload( filePath : URL, completion : @escaping ( Result< ZCatalystFile, ZCatalystError > ) -> Void )

Parámetros:

  • filePath: La ruta del archivo a subir en el sistema local.

  • completion: Si la operación es exitosa, el bloque de completion devolverá los detalles del archivo subido. De lo contrario, devolverá un error.

A continuación se muestra un fragmento de código de ejemplo:

copy
let filePath = self.testBundle?.path( forResource : "document", ofType : "jpeg" ) //Reemplazar con el nombre del archivo
	let url = URL( fileURLWithPath : filePath! )
ZCatalystApp.shared.getFileStoreInstance().getFolderInstance( id : 105000000121098 ).upload( filePath : url) { ( fileResult ) in
//Reemplaza esto con tu ID de carpeta
	switch fileResult{
	  case .success (let file) :    
	   print ("Image has been successfully uploaded and it's id is " + file.id)
	  case .error(let error) :
   	print( "Error occurred >>> \( error )" )
  } 
}

ii. Pasando los datos del archivo

Puedes pasar los datos del archivo junto con el completion handler como argumentos al método upload():

copy
<FOLDER_INSTANCE>.upload( fileName : String, fileData : Data, completion: @escaping (Result<ZCatalystFile, ZCatalystError>) -> Void )

Parámetros:

  • fileName: El nombre del archivo a subir.

  • fileData: El contenido del archivo del tipo Data.

  • completion: Si la operación es exitosa, el bloque de completion devolverá los detalles del archivo subido. De lo contrario, devolverá un error.

A continuación se muestra un fragmento de código de ejemplo:

copy
let image = UIImage ( named : "document" ) 
//reemplaza el nombre de tu archivo aquí
	if let data = image?.pngData(){
ZCatalystApp.shared.getFileStoreInstance().getFolderInstance(id: 105000000121098).upload(fileName: "document", fileData: data, fileRefId : "123456789983") { (result) in
//reemplaza el nombre de tu archivo e ID de referencia aquí
	switch result{
	  case .success (let file) :    
	   print ("Image has been successfully uploaded and it's id is \(file.id)")
	  case .error(let error) :
   	print( "Error occurred >>> \( error )" )
  	}
 	}
	}

Última actualización 2026-03-30 13:40:30 +0530 IST