s:fileupload如何变为只读状态

本文介绍了如何使用Struts框架中的文件上传组件实现文件输入框的只读效果,并探讨了限制文件类型仅能选择图片的方法。通过设置特定属性,成功实现了只读功能,但对于限制文件类型的问题仍在探索中。
<s:fileUpload id="cover" data="#{waterMarkManager.localPath}" onkeypress="return false;"
	accept="images/*" contentType="image/*" fileSize="10000000" fileName="#{waterMarkManager.currentFileName}"
	size="23">
</s:fileUpload>

      (1)问题一:只读效果

           之前用过了很多的方法都没有达到只读的效果,比如disable="true",或者style="readOnly:true",这些都不可以达到效果。最后就查阅很多的资料,终于找到了解决办法:onkeypress="return false;" 这个可以达到,它可以把光标放到那个input的里面但是你不能编辑它,这样也就是我想要的结果。

      (2)问题二:只能选择图片

          这个问题我还没有得到结果。上面的accept="images/*" contentType="image/*" 为什么不能达到效果,我还在郁闷当中.....正在寻找解决的办法。

from socket import socket import pymysql from flask import Flask, render_template, url_for, redirect, request, jsonify, render_template_string import socket import threading import os import requests app = Flask(__name__) # MySQL数据库连接配置 db_config = { 'host': 'localhost', 'user': 'root', 'password': '2003justaleaf', 'database': 'HSec', } @app.route('/') def index(): # put application's code here return redirect(url_for('login')) @app.route('/login',methods=['GET','POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] #连接数据库 # 连接数据库 db_conn = pymysql.connect(**db_config) try: with db_conn.cursor() as cursor: # 使用参数化查询防止SQL注入 sql = 'SELECT * FROM users WHERE username = %s AND password = %s' cursor.execute(sql, (username, password)) user = cursor.fetchone() finally: db_conn.close() # 确保数据库连接被关闭 # 检查用户是否存在 if user: username = username password = password return render_template('index.html') else: return render_template('login.html') return render_template('login.html') #扫描功能 def scan_port(host, port): try: with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.settimeout(1) sock.connect((host, port)) return True except (socket.timeout, ConnectionRefusedError, socket.error): return False def scan_ports(host, start_port, end_port): open_ports = [] for port in range(start_port, end_port + 1): if scan_port(host, port): open_ports.append(port) return open_ports @app.route('/scan', methods=['POST']) def scan(): host = request.form['host'] print(host) start_port = int(request.form['start-port']) print(start_port) end_port = int(request.form['end-port']) print(end_port) results = scan_ports(host, start_port, end_port) print(results) return jsonify({'results': results}) #文件保存目录 app.config['UPLOAD_FOLDER'] = 'uploads/' # 确保这个文件夹存在 @app.route('/check_paths', methods=['POST']) def check_paths(): if 'fileUpload' not in request.files or 'url' not in request.form: return jsonify({'error': '缺少url或者字典文件'}) file = request.files['fileUpload'] url_prefix = request.form['url'] # print(111) # print(file) # print(url_prefix) if file.filename == '': return jsonify({'error': '请上传一个有效的字典文件'}) file_path = os.path.join(app.config['UPLOAD_FOLDER'], file.filename) file.save(file_path) results = [] with open(file_path, 'r') as f: lines = f.readlines() for line in lines: path = line.strip() full_url = f"{'https://'+url_prefix.rstrip('/')}/{path.lstrip('/')}" #print(full_url) try: response = requests.get(full_url) exists = response.status_code == 200 error_message = None except requests.RequestException as e: exists = False error_message = str(e) results.append({ 'path': path, 'exists': exists, }) # 过滤出 exists 为 true 的结果 existing_urls = [result['path'] for result in results if result['exists']] #print(existing_urls) return jsonify(existing_urls) if __name__ == '__main__': app.run() 根据此代码用python编写出网络端口扫描应用程序,要求有UI界面显示界面美观整洁,登录页面直接输入用户名密码即可,不需要与MySQL相连接,要求实现网络端口扫描功能,最好是不用安装扫描软件包,直接就可运行成功
最新发布
11-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值