[ 
https://issues.apache.org/jira/browse/JAMES-3432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17220484#comment-17220484
 ] 

Benoit Tellier commented on JAMES-3432:
---------------------------------------

https://github.com/linagora/james-project/pull/3939 contributed the main upload 
routes;

We will be working on limitating upload size shortly.

> Upload: Attachment
> ------------------
>
>                 Key: JAMES-3432
>                 URL: https://issues.apache.org/jira/browse/JAMES-3432
>             Project: James Server
>          Issue Type: Sub-task
>            Reporter: Nguyễn Việt Đức
>            Priority: Major
>
> *Why*?
> User want to upload file/files for an account.
>  How?
> *Request*
>  To upload a file, the client submits an authenticated POST request to the 
> file upload resource - which MUST contain a variable called accountId.
>  Sample: "https://jmap.example.com/upload/\{accountId}";
> *Response*
>  A successful request MUST return a single JSON object with the following 
> properties as the response:
> {code:java}
> *accountId*: Id The id of the account used for the call.
> *blobId*: Id The id representing the binary data uploaded. The data for this 
> id is immutable. The id only refers to the binary data, not any metadata.
> *type*: String The media type of the file (as specified in [@!RFC6838], 
> Section 4.2) as set in the Content-Type header of the upload HTTP request.
> *size*: UnsignedInt The size of the file in octets.
> {code}
> *Note*
> If identical binary content to an existing blob in the account is uploaded, 
> the existing blobId MAY be returned.
>  Clients should use the blobId returned in a timely manner. Under rare 
> circumstances, the server may have deleted the blob before the client uses 
> it; the client should keep a reference to the local file so it can upload it 
> again in such a situation.
>  When an HTTP error response is returned to the client, the server SHOULD 
> return a JSON “problem details” object as the response body, as per 
> [@!RFC7807].
>  As access controls are often determined by the object holding the reference 
> to a blob, unreferenced blobs MUST only be accessible to the uploader, even 
> in shared accounts.
> *Definition of done*
> {code:java}
> When bob uploads an attachment
>  Then an upload response is sent to him
>  And using the blobId specified in the upload response, bob can download that 
> attachment
> {code}
> Write integration tests for it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to