You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2023/03/14 09:59:09 UTC
[linkis] branch dev-1.4.0 updated: Optimization of upload file interface in FsRestfulApi.java (#4357)
This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.4.0
in repository https://gitbox.apache.org/repos/asf/linkis.git
The following commit(s) were added to refs/heads/dev-1.4.0 by this push:
new 1d9c9a301 Optimization of upload file interface in FsRestfulApi.java (#4357)
1d9c9a301 is described below
commit 1d9c9a30146c2feb5c48b1ea6d418fa39ab9987a
Author: binbincheng <10...@users.noreply.github.com>
AuthorDate: Tue Mar 14 17:59:01 2023 +0800
Optimization of upload file interface in FsRestfulApi.java (#4357)
---
linkis-dist/package/conf/linkis.properties | 4 +++-
.../org/apache/linkis/filesystem/restful/api/FsRestfulApi.java | 4 ++--
.../java/org/apache/linkis/filesystem/util/WorkspaceUtil.java | 10 +++++++---
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/linkis-dist/package/conf/linkis.properties b/linkis-dist/package/conf/linkis.properties
index 9116486b0..66ed15cba 100644
--- a/linkis-dist/package/conf/linkis.properties
+++ b/linkis-dist/package/conf/linkis.properties
@@ -87,4 +87,6 @@ linkis.session.redis.port=6379
# redis password
linkis.session.redis.password=test123
# redis sso switch
-linkis.session.redis.cache.enabled=false
\ No newline at end of file
+linkis.session.redis.cache.enabled=false
+wds.linkis.workspace.filesystem.owner.check=true
+wds.linkis.workspace.filesystem.path.check=true
\ No newline at end of file
diff --git a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
index 91a8323db..e0fd3ea12 100644
--- a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
+++ b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/FsRestfulApi.java
@@ -319,8 +319,8 @@ public class FsRestfulApi {
FileSystem fileSystem = fsService.getFileSystem(userName, fsPath);
for (MultipartFile p : files) {
String fileName = p.getOriginalFilename();
+ WorkspaceUtil.charCheckFileName(fileName);
FsPath fsPathNew = new FsPath(fsPath.getPath() + "/" + fileName);
- WorkspaceUtil.fileAndDirNameSpecialCharCheck(fsPathNew.getPath());
fileSystem.createNewFile(fsPathNew);
try (InputStream is = p.getInputStream();
OutputStream outputStream = fileSystem.write(fsPathNew, true)) {
@@ -442,7 +442,7 @@ public class FsRestfulApi {
// downloaded(判断目录,目录不能下载)
FileSystem fileSystem = fsService.getFileSystem(userName, fsPath);
if (!fileSystem.exists(fsPath)) {
- throw WorkspaceExceptionManager.createException(8011, path);
+ throw WorkspaceExceptionManager.createException(80011, path);
}
inputStream = fileSystem.read(fsPath);
byte[] buffer = new byte[1024];
diff --git a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/util/WorkspaceUtil.java b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/util/WorkspaceUtil.java
index a21dc57cb..738167fc2 100644
--- a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/util/WorkspaceUtil.java
+++ b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/util/WorkspaceUtil.java
@@ -84,14 +84,18 @@ public class WorkspaceUtil {
public static void fileAndDirNameSpecialCharCheck(String path) throws WorkSpaceException {
String name = new File(path).getName();
- int i = name.lastIndexOf(".");
+ charCheckFileName(name);
+ }
+
+ public static void charCheckFileName(String fileName) throws WorkSpaceException {
+ int i = fileName.lastIndexOf(".");
if (i != -1) {
- name = name.substring(0, i);
+ fileName = fileName.substring(0, i);
}
// Only support numbers, uppercase letters, underscores, Chinese(只支持数字,字母大小写,下划线,中文)
String specialRegEx = "^[\\w\\u4e00-\\u9fa5]{1,200}$";
Pattern specialPattern = Pattern.compile(specialRegEx);
- if (!specialPattern.matcher(name).find()) {
+ if (!specialPattern.matcher(fileName).find()) {
WorkspaceExceptionManager.createException(80028);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org