主题 : 能解释一下,为什么官方测试的站点和实际有个差别吗
级别: 解元
UID: 60649
积分:372 加为好友
威望: 0 精华: 0
主题:19 回复:171
注册时间:2014-04-16
在线时长:0
11#   发表于:2014-05-29 14:37:07  IP:111.224.*.*
回复第10楼系统默认会员哪里没有文件上传呀,也找不到嘞,现在要在会员注册页面加一个附件上传,应该怎么引用
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
12#   发表于:2014-05-29 14:40:03  IP:182.253.*.*
功成由勤,业精于勤。
级别: 解元
UID: 60649
积分:372 加为好友
威望: 0 精华: 0
主题:19 回复:171
注册时间:2014-04-16
在线时长:0
13#   发表于:2014-05-29 14:45:56  IP:111.224.*.*
回复第12楼呃呃呃,我们下的源码里面,没有那个文档管理
级别: 解元
UID: 60649
积分:372 加为好友
威望: 0 精华: 0
主题:19 回复:171
注册时间:2014-04-16
在线时长:0
14#   发表于:2014-05-29 14:48:00  IP:111.224.*.*
回复第12楼  看下,是不是这个呢

/**
 * FCK服务器端接口
 * 
 * 为了更好、更灵活的处理fck上传,重新实现FCK服务器端接口。
 */
@Controller
public class FckAct {

private static final Logger log = LoggerFactory.getLogger(FckAct.class);

@RequestMapping(value = "/fck/upload.jspx", method = RequestMethod.POST)
public void upload(
@RequestParam(value = "Command", required = false) String commandStr,
@RequestParam(value = "Type", required = false) String typeStr,
@RequestParam(value = "CurrentFolder", required = false) String currentFolderStr,
@RequestParam(value = "mark", required = false) Boolean mark,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
log.debug("Entering Dispatcher#doPost");
responseInit(response);
if (Utils.isEmpty(commandStr) && Utils.isEmpty(currentFolderStr)) {
commandStr = "QuickUpload";
currentFolderStr = "/";
if (Utils.isEmpty(typeStr)) {
typeStr = "File";
}
}
if (currentFolderStr != null && !currentFolderStr.startsWith("/")) {
currentFolderStr = "/".concat(currentFolderStr);
}
log.debug("Parameter Command: {}", commandStr);
log.debug("Parameter Type: {}", typeStr);
log.debug("Parameter CurrentFolder: {}", currentFolderStr);
UploadResponse ur = validateUpload(request, commandStr, typeStr,
currentFolderStr);
if (ur == null) {
ur = doUpload(request, typeStr, currentFolderStr, mark);
}
PrintWriter out = response.getWriter();
out.print(ur);
out.flush();
out.close();
}

private UploadResponse doUpload(HttpServletRequest request, String typeStr,
String currentFolderStr, Boolean mark) throws Exception {
ResourceType type = ResourceType.getDefaultResourceType(typeStr);
try {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
// We upload just one file at the same time
MultipartFile uplFile = multipartRequest.getFileMap().entrySet()
.iterator().next().getValue();
CmsUser user = CmsUtils.getUser(request);
int fileSize = (int) (uplFile.getSize() / 1024);
// 文件太大,不允许上传
if (!user.isAllowMaxFile(fileSize)) {
log.warn("member fck upload warn: not allow max file: {}",
fileSize);
return UploadResponse.getFileUploadDisabledError(request);
}
// 文件上传今日额度已经用完
if (!user.isAllowPerDay(fileSize)) {
log.warn("member fck upload warn: not allow per day: {}",
fileSize);
return UploadResponse.getFileUploadDisabledError(request);
}
// Some browsers transfer the entire source path not just the
// filename
String filename = FilenameUtils.getName(uplFile
.getOriginalFilename());
log.debug("Parameter NewFile: {}", filename);
String ext = FilenameUtils.getExtension(filename);
// 不允许上传的文件后缀
if (!user.isAllowSuffix(ext)) {
log.warn("member fck upload warn:"
+ " not allow file extension: {}", ext);
return UploadResponse.getFileUploadDisabledError(request);
}
if (type.isDeniedExtension(ext)) {
return UploadResponse.getInvalidFileTypeError(request);
}
if (type.equals(ResourceType.IMAGE)
&& !ImageUtils.isImage(uplFile.getInputStream())) {
return UploadResponse.getInvalidFileTypeError(request);
}
String fileUrl;
CmsSite site = CmsUtils.getSite(request);
MarkConfig conf = site.getConfig().getMarkConfig();
if (mark == null) {
mark = conf.getOn();
}
boolean isImg = type.equals(ResourceType.IMAGE);
if (site.getConfig().getUploadToDb()) {
if (mark && isImg) {
File tempFile = mark(uplFile, conf);
fileUrl = dbFileMng.storeByExt(site.getUploadPath(), ext,
new FileInputStream(tempFile));
tempFile.delete();
} else {
fileUrl = dbFileMng.storeByExt(site.getUploadPath(), ext,
uplFile.getInputStream());
}
// 加上访问地址
String dbFilePath = site.getConfig().getDbFileUri();
fileUrl = request.getContextPath() + dbFilePath + fileUrl;
} else if (site.getUploadFtp() != null) {
Ftp ftp = site.getUploadFtp();
if (mark && isImg) {
File tempFile = mark(uplFile, conf);
fileUrl = ftp.storeByExt(site.getUploadPath(), ext,
new FileInputStream(tempFile));
tempFile.delete();
} else {
fileUrl = ftp.storeByExt(site.getUploadPath(), ext, uplFile
.getInputStream());
}
// 加上url前缀
fileUrl = ftp.getUrl() + fileUrl;
} else {
if (mark && isImg) {
File tempFile = mark(uplFile, conf);
fileUrl = fileRepository.storeByExt(site.getUploadPath(),
ext, tempFile);
tempFile.delete();
} else {
fileUrl = fileRepository.storeByExt(site.getUploadPath(),
ext, uplFile);
}
// 加上部署路径
fileUrl = request.getContextPath() + fileUrl;
}
cmsUserMng.updateUploadSize(user.getId(), fileSize);
return UploadResponse.getOK(request, fileUrl);
} catch (IOException e) {
return UploadResponse.getFileUploadWriteError(request);
}
}

private void responseInit(HttpServletResponse response) {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-cache");
}

private UploadResponse validateUpload(HttpServletRequest request,
String commandStr, String typeStr, String currentFolderStr) {
// TODO 是否允许上传
if (!Command.isValidForPost(commandStr)) {
return UploadResponse.getInvalidCommandError(request);
}
if (!ResourceType.isValidType(typeStr)) {
return UploadResponse.getInvalidResourceTypeError(request);
}
if (!UploadUtils.isValidPath(currentFolderStr)) {
return UploadResponse.getInvalidCurrentFolderError(request);
}
CmsUser user = CmsUtils.getUser(request);
// 未登录,无权上传图片
if (user == null) {
log.warn("member fck upload warn: not logged in.");
return UploadResponse.getFileUploadDisabledError(request);
}
return null;
}

private File mark(MultipartFile file, MarkConfig conf) throws Exception {
String path = System.getProperty("java.io.tmpdir");
File tempFile = new File(path, String.valueOf(System
.currentTimeMillis()));
file.transferTo(tempFile);
boolean imgMark = !StringUtils.isBlank(conf.getImagePath());
if (imgMark) {
File markImg = new File(realPathResolver.get(conf.getImagePath()));
imageScale.imageMark(tempFile, tempFile, conf.getMinWidth(), conf
.getMinHeight(), conf.getPos(), conf.getOffsetX(), conf
.getOffsetY(), markImg);
} else {
imageScale.imageMark(tempFile, tempFile, conf.getMinWidth(), conf
.getMinHeight(), conf.getPos(), conf.getOffsetX(), conf
.getOffsetY(), conf.getContent(), Color.decode(conf
.getColor()), conf.getSize(), conf.getAlpha());
}
return tempFile;
}

private CmsUserMng cmsUserMng;
private FileRepository fileRepository;
private DbFileMng dbFileMng;
private ImageScale imageScale;
private RealPathResolver realPathResolver;

@Autowired
public void setCmsUserMng(CmsUserMng cmsUserMng) {
this.cmsUserMng = cmsUserMng;
}

@Autowired
public void setFileRepository(FileRepository fileRepository) {
this.fileRepository = fileRepository;
}

@Autowired
public void setDbFileMng(DbFileMng dbFileMng) {
this.dbFileMng = dbFileMng;
}

@Autowired
public void setImageScale(ImageScale imageScale) {
this.imageScale = imageScale;
}

@Autowired
public void setRealPathResolver(RealPathResolver realPathResolver) {
this.realPathResolver = realPathResolver;
}

}
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
15#   发表于:2014-05-29 14:48:43  IP:182.253.*.*
那是你的试用版本,jeecms是收费软件,正式使用需要购买我们的商业授权
功成由勤,业精于勤。
级别: 解元
UID: 60649
积分:372 加为好友
威望: 0 精华: 0
主题:19 回复:171
注册时间:2014-04-16
在线时长:0
16#   发表于:2014-05-29 14:50:49  IP:111.224.*.*
回复第15楼  额,拿过来学习一下的,除了你说的 那个方法外,还有其他的吗
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
17#   发表于:2014-05-29 14:53:29  IP:182.253.*.*
没有了
功成由勤,业精于勤。
级别: 解元
UID: 60649
积分:372 加为好友
威望: 0 精华: 0
主题:19 回复:171
注册时间:2014-04-16
在线时长:0
18#   发表于:2014-05-29 14:56:04  IP:111.224.*.*
回复第17楼  额 额  肿么会这样嘞,测试版的和官方的怎么不一样呢
级别: 状元
UID: 33380
积分:50625 加为好友
威望: 21 精华: 3
主题:88 回复:30687
注册时间:2012-05-07
在线时长:0
19#   发表于:2014-05-29 14:58:56  IP:182.253.*.*
已经和您解释了jeecms试用版本有些功能做了删减,正式版本才有
功成由勤,业精于勤。
|< < 1 2 共2页