Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
weixin_42566577
o2oa
提交
fc9cc01a
o2oa
项目概览
weixin_42566577
/
o2oa
与 Fork 源项目一致
Fork自
浙江兰德纵横网络技术股份有限公司 / o2oa
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
o2oa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fc9cc01a
编写于
3月 07, 2022
作者:
O
o2sword
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
云文件图片增加匿名可查看接口
上级
b1f1bcb3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
121 addition
and
0 deletion
+121
-0
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/ActionApplication.java
.../com/x/file/assemble/control/jaxrs/ActionApplication.java
+2
-0
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/FileAnonymousJaxrsFilter.java
...file/assemble/control/jaxrs/FileAnonymousJaxrsFilter.java
+15
-0
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/file/FileAnonymousAction.java
...file/assemble/control/jaxrs/file/FileAnonymousAction.java
+104
-0
未找到文件。
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/ActionApplication.java
浏览文件 @
fc9cc01a
...
...
@@ -11,6 +11,7 @@ import com.x.file.assemble.control.jaxrs.complex.ComplexAction;
import
com.x.file.assemble.control.jaxrs.config.ConfigAction
;
import
com.x.file.assemble.control.jaxrs.editor.EditorAction
;
import
com.x.file.assemble.control.jaxrs.file.FileAction
;
import
com.x.file.assemble.control.jaxrs.file.FileAnonymousAction
;
import
com.x.file.assemble.control.jaxrs.folder.FolderAction
;
import
com.x.file.assemble.control.jaxrs.folder2.Folder2Action
;
import
com.x.file.assemble.control.jaxrs.recycle.RecycleAction
;
...
...
@@ -30,6 +31,7 @@ public class ActionApplication extends AbstractActionApplication {
classes
.
add
(
EditorAction
.
class
);
classes
.
add
(
FileAction
.
class
);
classes
.
add
(
ConfigAction
.
class
);
classes
.
add
(
FileAnonymousAction
.
class
);
return
classes
;
}
...
...
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/FileAnonymousJaxrsFilter.java
0 → 100644
浏览文件 @
fc9cc01a
package
com.x.file.assemble.control.jaxrs
;
import
com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter
;
import
javax.servlet.annotation.WebFilter
;
/**
* @author sword
*/
@WebFilter
(
urlPatterns
=
{
"/jaxrs/anonymous/*"
,
},
asyncSupported
=
true
)
public
class
FileAnonymousJaxrsFilter
extends
AnonymousCipherManagerUserJaxrsFilter
{
}
o2server/x_file_assemble_control/src/main/java/com/x/file/assemble/control/jaxrs/file/FileAnonymousAction.java
0 → 100644
浏览文件 @
fc9cc01a
package
com.x.file.assemble.control.jaxrs.file
;
import
com.google.gson.JsonElement
;
import
com.x.base.core.project.annotation.JaxrsDescribe
;
import
com.x.base.core.project.annotation.JaxrsMethodDescribe
;
import
com.x.base.core.project.annotation.JaxrsParameterDescribe
;
import
com.x.base.core.project.http.ActionResult
;
import
com.x.base.core.project.http.EffectivePerson
;
import
com.x.base.core.project.http.HttpMediaType
;
import
com.x.base.core.project.jaxrs.ResponseFactory
;
import
com.x.base.core.project.jaxrs.StandardJaxrsAction
;
import
com.x.base.core.project.logger.Logger
;
import
com.x.base.core.project.logger.LoggerFactory
;
import
com.x.file.core.entity.open.ReferenceType
;
import
org.glassfish.jersey.media.multipart.FormDataContentDisposition
;
import
org.glassfish.jersey.media.multipart.FormDataParam
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.ws.rs.*
;
import
javax.ws.rs.container.AsyncResponse
;
import
javax.ws.rs.container.Suspended
;
import
javax.ws.rs.core.Context
;
import
javax.ws.rs.core.MediaType
;
import
java.util.List
;
/**
* @author sword
*/
@Path
(
"anonymous/file"
)
@JaxrsDescribe
(
"File操作"
)
public
class
FileAnonymousAction
extends
StandardJaxrsAction
{
private
static
Logger
logger
=
LoggerFactory
.
getLogger
(
FileAnonymousAction
.
class
);
@JaxrsMethodDescribe
(
value
=
"下载文件,以附件方式,不输出contentType头."
,
action
=
ActionDownloadStream
.
class
)
@GET
@Path
(
"{id}/download/stream"
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
downloadStream
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"文件标识"
)
@PathParam
(
"id"
)
String
id
)
{
ActionResult
<
ActionDownloadStream
.
Wo
>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionDownloadStream
().
execute
(
effectivePerson
,
id
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
@JaxrsMethodDescribe
(
value
=
"下载文件,输出contentType头."
,
action
=
ActionDownload
.
class
)
@GET
@Path
(
"{id}/download"
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
download
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"文件标识"
)
@PathParam
(
"id"
)
String
id
)
{
ActionResult
<
ActionDownload
.
Wo
>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionDownload
().
execute
(
effectivePerson
,
id
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
null
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
/** 为IOS访问单独增加的方法 */
@JaxrsMethodDescribe
(
value
=
"下载文件,以附件方式,不输出contentType头,使用POST方法访问."
,
action
=
ActionDownloadStream
.
class
)
@POST
@Path
(
"{id}/download/stream"
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
postDownloadStream
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"文件标识"
)
@PathParam
(
"id"
)
String
id
,
JsonElement
jsonElement
)
{
ActionResult
<
ActionDownloadStream
.
Wo
>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionDownloadStream
().
execute
(
effectivePerson
,
id
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
jsonElement
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
/** 为IOS访问单独增加的方法 */
@JaxrsMethodDescribe
(
value
=
"下载文件,输出contentType头,使用POST方法访问."
,
action
=
ActionDownload
.
class
)
@POST
@Path
(
"{id}/download"
)
@Consumes
(
MediaType
.
APPLICATION_JSON
)
public
void
postDownload
(
@Suspended
final
AsyncResponse
asyncResponse
,
@Context
HttpServletRequest
request
,
@JaxrsParameterDescribe
(
"文件标识"
)
@PathParam
(
"id"
)
String
id
,
JsonElement
jsonElement
)
{
ActionResult
<
ActionDownload
.
Wo
>
result
=
new
ActionResult
<>();
EffectivePerson
effectivePerson
=
this
.
effectivePerson
(
request
);
try
{
result
=
new
ActionDownload
().
execute
(
effectivePerson
,
id
);
}
catch
(
Exception
e
)
{
logger
.
error
(
e
,
effectivePerson
,
request
,
jsonElement
);
result
.
error
(
e
);
}
asyncResponse
.
resume
(
ResponseFactory
.
getEntityTagActionResultResponse
(
request
,
result
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录