Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sfzx-website
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
丁伟
sfzx-website
Commits
fb3a006f
Commit
fb3a006f
authored
Feb 22, 2025
by
丁伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、解决上传到服务器的图片和文件无法直接读取的问题。
parent
f4bc09a7
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
32 additions
and
10 deletions
+32
-10
src/main/java/org/ccpit/ueditor/upload/BinaryUploader.java
+17
-10
src/main/java/org/ccpit/ueditor/upload/StorageManager.java
+15
-0
No files found.
src/main/java/org/ccpit/ueditor/upload/BinaryUploader.java
View file @
fb3a006f
package
org
.
ccpit
.
ueditor
.
upload
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
org.apache.commons.fileupload.FileItemIterator
;
import
org.apache.commons.fileupload.FileItemStream
;
import
org.apache.commons.fileupload.FileUploadException
;
...
...
@@ -19,6 +11,15 @@ import org.ccpit.ueditor.define.BaseState;
import
org.ccpit.ueditor.define.FileType
;
import
org.ccpit.ueditor.define.State
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.nio.file.Files
;
import
java.nio.file.Path
;
import
java.nio.file.Paths
;
import
java.nio.file.attribute.PosixFilePermission
;
import
java.util.*
;
public
class
BinaryUploader
{
public
static
final
State
save
(
HttpServletRequest
request
,
...
...
@@ -73,8 +74,14 @@ public class BinaryUploader {
String
physicalPath
=
serverSavePathPrefix
+
savePath
;
InputStream
is
=
fileStream
.
openStream
();
State
storageState
=
StorageManager
.
saveFileByInputStream
(
is
,
physicalPath
,
maxSize
);
State
storageState
=
StorageManager
.
saveFileByInputStream
(
is
,
physicalPath
,
maxSize
);
Set
<
PosixFilePermission
>
permissions
=
new
HashSet
<>();
permissions
.
add
(
PosixFilePermission
.
OWNER_READ
);
permissions
.
add
(
PosixFilePermission
.
OWNER_WRITE
);
permissions
.
add
(
PosixFilePermission
.
GROUP_READ
);
permissions
.
add
(
PosixFilePermission
.
OTHERS_READ
);
Files
.
setPosixFilePermissions
(
Paths
.
get
(
physicalPath
),
permissions
);
is
.
close
();
if
(
storageState
.
isSuccess
())
{
...
...
src/main/java/org/ccpit/ueditor/upload/StorageManager.java
View file @
fb3a006f
...
...
@@ -8,6 +8,11 @@ import java.io.File;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.nio.file.Files
;
import
java.nio.file.Paths
;
import
java.nio.file.attribute.PosixFilePermission
;
import
java.util.HashSet
;
import
java.util.Set
;
import
org.apache.commons.io.FileUtils
;
import
org.ccpit.ueditor.define.AppInfo
;
...
...
@@ -124,6 +129,16 @@ public class StorageManager {
State
state
=
null
;
File
targetFile
=
new
File
(
path
);
Set
<
PosixFilePermission
>
permissions
=
new
HashSet
<>();
permissions
.
add
(
PosixFilePermission
.
OWNER_READ
);
permissions
.
add
(
PosixFilePermission
.
OWNER_WRITE
);
permissions
.
add
(
PosixFilePermission
.
GROUP_READ
);
permissions
.
add
(
PosixFilePermission
.
OTHERS_READ
);
try
{
Files
.
setPosixFilePermissions
(
Paths
.
get
(
path
),
permissions
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
if
(
targetFile
.
canWrite
())
{
return
new
BaseState
(
false
,
AppInfo
.
PERMISSION_DENIED
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment