Implementation of the Winform program for file management based on Service (Web Service) and winform for file management

Source: Internet
Author: User

Implementation of the Winform program for file management based on Service (Web Service) and winform for file management
1. Description

A Service-Oriented Architecture (SOA) is a component model that associates different functional units (called services) of an application with well-defined interfaces and contracts between these services. Interfaces are defined in a neutral way. They should be independent of the hardware platform, operating system, and programming language that implements services. This allows services built in a variety of systems to interact in a unified and universal manner.

The file management of this program uses the file classification method to manage files, so that one file can only be contained in one folder. You can manage files by file category. files can be divided into multiple categories, but they do not belong to any category. This increases the flexibility of file management. This document management service manages multipart upload and download of large files to achieve resumable upload and download of files.

2. Introduction to the File Management Service

The File Management Service uses the Web Service program developed by VS2008 C.

 

2.1. file classification method

File classification methods include adding, modifying, deleting, and obtaining file categories.

Method Name

Method description

Public SQReturnResult GetFileClassifyList ()

Note:

Obtain my file category. Success: 0; Failure: 1; Exception:-1.

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a file classification data table. If the Status is not equal to 0, the Result is a failure message.

 

File classification data table structure:

Field name

Field Type

Field description

UFClassifyId

Bigint

File category ID

UFClassifyUserNo

String

User Account

UFClassifyName

String

File category name

UFClassifyDesc

String

File Category Description

 

Public SQReturnResult InsertFileClassify (string pUFClassifyName, string pUFClassifyDesc)

Adds a file category. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFClassifyName: file category name

PUFClassifyDesc: file Category Description

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a single-row file classification data table. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult UpdateFileClassify (long pUFClassifyId, string pUFClassifyName, string pUFClassifyDesc)

Update my file category. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFClassifyId: file category ID

PUFClassifyName: file category name

PUFClassifyDesc: file Category Description

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a single-row file classification data table. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult DeleteFileClassify (long pUFClassifyId, string pUFClassifyName)

Delete my file category. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFClassifyId: file category ID

PUFClassifyName: file category name

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is true. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult CheckFileClassify (long pUFClassifyId, string pUFClassifyName)

Check whether the file category exists. Return Value: 0; Return Value: 1; Return Value:-1 if no exception exists. Duplicate file categories are not allowed. This method is provided for check.

 

Input parameters:

PUFClassifyId: file category ID

PUFClassifyName: file category name

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is true. If the Status is not equal to 0, the Result is a failure message.

 

2.2. File Management Method

File classification methods include uploading files, modifying file information, deleting files, downloading files, obtaining all files, obtaining classified files, and obtaining unclassified file lists.

Method Name

Method description

Public SQReturnResult GetFileList ()

Obtain the list of all my files. Returns information about the first 1000 objects.

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is the file information data table. If the Status is not equal to 0, the Result is a failure message.

 

Structure of the file category data list:

Field name

Field Type

Field description

UFileId

Bigint

File Information identifier

UFileUserNo

String

User Account

UFileName

String

File Name

UFileDesc

String

File description

UFileLength

Bigint

File Size

UFileType

String

File Type

UFilePath

String

File Storage path

 

Public SQReturnResult GetClassifyFileList (long pUFClassifyId)

Obtain the list of my classified files. When the file category is 0, the first 1000 files are returned.

 

Input parameters:

PUFClassifyId: identifies a file category.

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is the file information data table. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult GetNoClassifyFileList ()

Obtain the list of my unclassified files. When the file category is 0, the first 1000 files are returned.

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is the file information data table. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult CheckFileInfo (long pUFileId, string pUFileName)

Check whether the file exists. Return Value: 0; Return Value: 1; Return Value:-1 if no exception exists.

Input parameters:

PUFileId: File ID

PUFileName: File Name

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is True. If the Status is not equal to 0, the Result is a failure message.

 

Note: The file name cannot be repeated.

Public SQReturnResult InsertFile (string pUFileName, string pUFileDesc, byte [] pFileContent, long [] pUFClassifyIds)

Add my file information. Upload the file content first. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileName: File Name

PUFileDesc: file description

PFileContent: File Content

PUFClassifyIds: file category ID

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a single-row file information data table. If the Status is not equal to 0, the Result is a failure message.

 

Note: When the file size is greater than 4 MB, you must upload the file in multiple parts.

Public SQReturnResult UploadFileByte (string pFileName, byte [] pFileContent, long pOffset)

Upload File bytes. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PFileName: File Name

PFileContent: file byte

POffset: file storage location

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is True. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult InsertFileInfo (string pUFileName, string pUFileDesc, long [] pUFClassIds)

Add my file information. Upload the file content first. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileName: File Name

PUFileDesc: file description

PUFClassifyIds: file category ID

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a single-row file information data table. If the Status is not equal to 0, the Result is a failure message.

 

Note: When a file is uploaded in multiple parts, the file information is added.

Public SQReturnResult UpdateFileInfo (long pUFileId, string pUFileName, string pUFileDesc)

Update my file information. Upload the file content first. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileId: File ID

PUFileName: File Name

PUFileDesc: file description

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a single-row file information data table. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult ChangeFileClassify (long pUFileId, string pUFileName, long [] pUFClassifyIds)

Adjust my file category. Upload the file content first. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileId: File ID

PUFileName: File Name

PUFClassifyIds: file category ID

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is True. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult GetFileClassify (long pUFileId)

Obtain the file category of my files. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileId: File ID

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is the file classification label table. If the Status is not equal to 0, the Result is a failure message.

 

File classification label table structure

Field name

Field Type

Field description

UFLabelClassifyId

Bigint

File category ID

 

Public SQReturnResult DeleteFile (long pUFileId, string pUFileName)

Delete my files. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileId: File ID

PUFileName: File Name

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. If Status is equal to 0, Result is True. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult DownloadFile (string pFileName)

Download my files. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileName: File Name

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a 64-bit string of the file. If the Status is not equal to 0, the Result is a failure message.

 

Note: When the file size is larger than 4 MB, you must use the multipart download method.

Public SQReturnResult GetFileInfo (string pFileName)

Obtain information about my files. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileName: File Name

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a single-row file information table. If the Status is not equal to 0, the Result is a failure message.

 

Public SQReturnResult DownloadFileByte (string pFileName, long pOffset, int pDownLength)

Download the byte of my file. Multipart download, which is controlled within 1 MB. Success: 0; Failure: 1; Exception:-1.

 

Input parameters:

PUFileName: File Name

POffset: Start position of the downloaded file content

PDownLength: the size of the downloaded file.

 

Response parameters:

SQReturnResult: return result class. Including Status and Result attributes. When Status is equal to 0, Result is a 64-bit string of the file. If the Status is not equal to 0, the Result is a failure message.

 

 

Not complete...

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.