Kindeditor怎么设置上传文件的类型和大小

Kindeditor怎么设置上传文件的类型和大小,第1张

1.页面代码

<tr >

<t d >

图片上传

</td >

<td colspan="5" align="left" style="text-align: left" >

<div id="filediv_infvaluelog_pic" >

</div >

<input type="button" id="file_btn_infvaluelog_add_pic" value="上传" />

</td >

</tr >

2.脚本代码

var uploadbutton3 = KindEditor.uploadbutton( {

button : KindEditor('#file_btn_infvaluelog_add_pic'),

fieldName : 'file',

url : 'upload_file_XXX_json?dir=image', //文件上传的action,设置dir为image

afterUpload : function(data) {

if (data.error === 0) {

//正确的时候执行

} else {

//上传错误后,提示

alert(data.message)

}

},

afterError : function(str) {//没正确执行时异常

alert('自定义错误信息: ' + str)

}

})

uploadbutton3.fileBox.change(function(e) {

uploadbutton3.submit()

})

})

3.action方法

public String fileupload() throws FileNotFoundException{

//最大文件大小

long maxSize = 1000000

InputStream is = null

if(imgFile!=null&&imgFile.isFile()){

is = new FileInputStream(imgFile)//传过来的文件

}else{

if(file.isFile()){

imgFile=file

imgFileFileName=fileFileName

is = new FileInputStream(imgFile)//传过来的文件

}else{

error = 1

message = "请选择要上传的文件。"

}

}

HttpServletRequest request = ServletActionContext.getRequest()

String savePath = null

String saveUrl = null

//检查目录

File rootDir = new File(savePath)

if(!rootDir.isDirectory()){

error = 1

message = "上传根目录不存在。"

}

//检查目录写权限

if(!rootDir.canWrite()){

error = 1

message = "上传根目录没有写权限。"

}

String dirName = null

if (dir == null) {

dirName = "other"

}else{

dirName = dir

}

//创建文件夹

savePath += "/"+dirName + "/"

saveUrl += "/"+dirName + "/"

File saveDirFile = new File(savePath)

if (!saveDirFile.exists()) {

saveDirFile.mkdirs()

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd")

String ymd = sdf.format(new Date())

savePath += ymd + "/"

saveUrl += ymd + "/"

File dirFile = new File(savePath)

if (!dirFile.exists()) {

dirFile.mkdirs()

}

//检查文件大小

if(imgFile.length() >maxSize){

error = 1

message = "上传文件大小超过限制。"

}else{

//定义允许上传的文件扩展名

HashMap extMap = new HashMap()

extMap.put("image", "gif,jpg,jpeg,png,bmp")

extMap.put("flash", "swf,flv")

extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb")

extMap.put("file","gif,jpg,jpeg,png,bmp,doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2")

//检查扩展名

String fileExt = imgFileFileName.substring(imgFileFileName.lastIndexOf(".") + 1).toLowerCase()

if(!Arrays.asList(extMap.get(dirName).split(",")).contains(fileExt)){

error = 1

message = "上传文件扩展名是不允许的扩展名。\n只允许" + extMap.get(dirName) + "格式。"

}else{

SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss")

String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "_"

try{

if(imgFileFileName.indexOf(",")!=-1){

imgFileFileName=imgFileFileName.replaceAll(",", "")

}

File deskFile = new File(savePath+newFileName+imgFileFileName)

OutputStream os = new FileOutputStream(deskFile)

byte[] bytefer = new byte[1024]

int length = 0

while ((length = is.read(bytefer)) != -1) {

os.write(bytefer, 0, length)

}

os.close()

is.close()

error = 0

//message = "上传文件成功"

//url = urlRoot + saveUrl + newFileName + imgFileFileName

if("file".equals(dir)){

url = savePath + newFileName + imgFileFileName

}else{

url = saveUrl + newFileName + imgFileFileName

}

url = url.trim().replaceAll("\\\\\\\\", "/")

url = url.replaceAll("\\\\", "/")

//检查是否是图片,是才进行压缩

if(url.endsWith(".jpg")||url.endsWith(".jpeg")||url.endsWith(".png")||url.endsWith(".bmp")||url.endsWith(".gif")){

//压缩

ImgProce ip = new ImgProce()

ip.setWideth(400)

ip.proce(savePath+newFileName+imgFileFileName, "400")

}

}catch(Exception e){

error = 1

message = "上传文件失败。"

}

}

}

this.map=new HashMap()

this.map.put("error", error)

if(error==0){

this.map.put("url", url)

this.map.put("filename",imgFileFileName)

}else{

this.map.put("message", message)

}

return "SUCCESS"

}

以ASP.NET 为例

将下载下来的 编辑器放到根目录下面

使用编辑器需要首先将LitJSON.dll文件放到bin目录下面

在examples文件夹下面新建立一个test.aspx

只需设置test.aspx页面即可

******************************************************test.aspx页面设置**********************************************

<html>

<head>

<meta charset="utf-8" />

<title>KindEditor ASP.NET</title>

<script charset="utf-8" src="../kindeditor-min.js"></script>

<script charset="utf-8" src="../lang/zh_CN.js"></script>

<script>

KindEditor.ready(function (K) {

K.create('#content', {

uploadJson: '../asp.net/upload_json.ashx',

fileManagerJson: '../asp.net/file_manager_json.ashx',

allowFileManager: true

})

})

</script>

</head>

<body>

<h3>默认模式</h3>

<form id="form1" name="example">

<textarea name="content" id="content" style="width:800pxheight:400pxvisibility:hidden">KindEditor</textarea>

<p>

<input type="button" name="getHtml" value="取得HTML" />

<input type="button" name="isEmpty" value="判断是否为空" />

<input type="button" name="getText" value="取得文本(包含img,embed)" />

<input type="button" name="selectedHtml" value="取得选中HTML" />

<br />

<br />

<input type="button" name="setHtml" value="设置HTML" />

<input type="button" name="setText" value="设置文本" />

<input type="button" name="insertHtml" value="插入HTML" />

<input type="button" name="appendHtml" value="添加HTML" />

<input type="button" name="clear" value="清空内容" />

<input type="reset" name="reset" value="Reset" />

</p>

</form>

</body>

</html>

设置完成后上传本地文件 注:如在iis下面是用编辑需要设置访问asp.net文件夹下的权限权限

默认情况下kindeditor上传的图片在编辑器的根目录/attached/目录下。以日期建一个目录,然后保存文件。有些时候大概我们并不想这样。考虑到更新编辑器,或更换编辑器不太方便。比如我现在想把上传的文件保存在根目录下的uploadfiles目录下,需要修改以下代码:

首先,打开文件php\upload_json.php,在大约第16行到第19行,定义了文件保存目录路径和文件保存目录URL,我们需要修改为:

//文件保存目录路径

$save_path = $_SERVER['DOCUMENT_ROOT'].'\\uploadfiles\\'

//文件保存目录URL

$save_url = '/uploadfiles/'

解释一下:$save_path 即为最后保存文件的目录。这里就是根目录下的uploadfiles

$save_url 即为上传成功后,图片的URL地址。

这样,保存地址就变成了 根目录下的 uploadfiles/年月日/xxxxx.jpg了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11535693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存