GVKun编程网logo

FileChooser来select一个目录,而不是一个文件(file select)

14

针对FileChooser来select一个目录,而不是一个文件和fileselect这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Apache重新启动导致DocumentRoot必须是一

针对FileChooser来select一个目录,而不是一个文件file select这两个问题,本篇文章进行了详细的解答,同时本文还将给你拓展Apache重新启动导致DocumentRoot必须是一个目录,即使它是一个目录,似乎没有特权问题、docker-compose.yml,网络必须是一个映射,而不是一个数组、Eclipse键盘快捷键在一个文件中起作用,而不在另一个文件中起作用、File 创建一个空目录,创建一个多级目录,删除一个目录等相关知识,希望可以帮助到你。

本文目录一览:

FileChooser来select一个目录,而不是一个文件(file select)

FileChooser来select一个目录,而不是一个文件(file select)

我的代码处理Windows盒子上的文件夹中的所有文件。 我想提供用户(谁也碰巧也是我)select要处理的文件夹,使用标准的文件select器对话框。

我正在尝试使用GetopenFileName函数来实现此目的。 (我实际上是通过pywin32从Python调用它,但这不应该是相关的。)

我可以得到它来select一个特定的文件,但我看不到任何选项,让用户select一个文件夹。

有没有一个标志组合,我不明白,我是完全错误的function,还是有另一种做法呢?

启用GtkFileChooserDialog来select文件或文件夹

不幸的是,我认为你完全错误地调用了函数。 我已经完成了Win32 gui的东西,这已经有一段时间了..但是我似乎记得有一个不同的方法来创建一个“select directory”框。 这不是一个直接的Win32函数,而是一些shell API函数,它需要一大堆代码来做最简单的事情。

更新:有点谷歌显示SHbrowseForFolder函数。

更新两个:这里是一个Python的例子 。

格雷格提到,你想要的功能是一个shell函数。 你需要的具体功能是SHbrowseForFolder ,这是非常混乱的调用。 还有PyWin32文档提到了browse_for_folder.py示例。

Apache重新启动导致DocumentRoot必须是一个目录,即使它是一个目录,似乎没有特权问题

Apache重新启动导致DocumentRoot必须是一个目录,即使它是一个目录,似乎没有特权问题

我有什么几乎肯定是一个新手问题。 我希望在写这个问题的时候能够find问题,但是我还是陷入了困境。

我想改变Apache的DocumentRoot,但我不断收到错误消息“DocumentRoot必须是一个目录”。

情况:

代码运行在虚拟VMWare机器4.0.4 build-744019中

Linux的版本是Scientific Linux版本6.4(Carbon)

Apache的版本是Apache / 2.2.15(Unix)(这是一个没有特别的yum安装)

在httpd.conf中

PHP的邮件()函数不能在Web主机上工作

使用Apache / Tomcat +虚拟主机部署多个grails应用程序

如何在不使用太多内存的情况下强制下载大文件?

Apache 5.4与PHP 5.4:没有可用的MysqL

在要求声明中select正确的path

DocumentRoot "/home/stave/www"

当我重新启动,我收到消息

Starting httpd: Syntax error on line 292 of /etc/httpd/conf/httpd.conf: DocumentRoot must be a directory

迄今采取的步骤:

我确保目录存在:

ls -asl /home/stave 4 drwxrwxrwx. 2 stave stave 4096 Feb 9 09:08 www It even has a file in it "index.html",so I am very sure that the directory exists

我认为这可能是一个特权问题(这是一个虚拟的开发机器与互联网隔离,而且我正在排除故障,所以我不太担心安全问题),您可以看到我将权限设置为777。

我甚至改变了Apache运行的用户(并确认更改与ps一起工作)来保证特权不应该成为问题。

堆栈溢出

有几个堆栈溢出的答案,但他们大多数人说:“读取错误信息。这是说目录并不存在”。 另一些人则暗示,最后可能会有一个尾随的斜线,这将是不好的。

其他网站

我发现最有用的是这个build议

你可能得到了“DocumentRoot必须是一个目录”的错误,即使它是一个真正的目录,因为SELinux扩展。 运行system-config-securitylevel(或者redhat-c​​onfig-securitylevel)来为httpd禁用SELinux,或者给SELinux权限:chcon -R -h -t httpd_sys_content_t / path / to / directory *

我的版本的Linux不是安全增强的Linux,所以不理解,我反正试了:没有效果。

现在的情况

我已经用尽了想法,所以任何诊断问题或build议将不胜感激

什么是206部分内容

当通过SSL访问网页时,IE8和IE9中的字体不会加载

如何在Linux中每10秒钟作业

我如何按datesortingApache日志文件?

apache不能启动wamp服务器

您在“其他网站”下张贴的链接突出显示了您的问题(Selinux)的根本原因。

除非服务器是超级安全环境的一部分,否则我只会禁用Selinux。

在RedHat / CentOS / Scientific Linux上,这可以通过编辑/ etc / sysconfig / selinux轻松完成 – 找到参数“selinux”,并将选项“enforcing”更改为“disabled”

# SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled

做这个改变后重启服务器可能是明智的。

你不应该只是禁用SELinux。

你需要设置httpd_enable_homedirs。

yum -y install policycoreutils-python setsebool -P httpd_enable_homedirs on

我今天遇到了这个问题,这是因为我把我的DocumentRoot从/ var / www / html移动到/ srv / www / html。 作为我们安全策略的一部分,我们没有选择只是禁用SELinux。

所以我的修复,因为我发现是改变/ srv的SELinux文件上下文匹配/ var。 妥协是的,但仍然比完全禁用它更好。 除此之外…我确保/ srv / www和所有子文件夹都有httpd_sys_content_t来匹配/ var / www下的文件夹,现在一切正常。

这与David的答案基本相同,但是稍微清楚一点,http服务目录有错误的SELinux安全上下文集。

解决这个问题的完整解释是在这里http://mybroadband.co.za/vb/showthread.PHP/588183-Fix-403-Forbidden-on-newly-configured-CentOS-6-5-httpd-server-(或-13-10-Ubuntu的LAMP)

我的问题是,我把我的网站放在不同于/ var / www /的documentmentroot路径的目录中,所以我不得不按照上面的链接中的第三个选项进行更正。 我将my / websites /目录的相同文件上下文设置为与/ var / www /相匹配。 奇怪的是早期版本的CentOS 5.5不能安装/启用SELinux,因为我的其他服务器没有这个问题,当在命令提示符下运行ls -Z时显示这些文件夹是“未标记的”。

我在官方市场最小安装上运行AWS上的CentOS 6.5。 所以当我在我的文件夹上运行ls -Z命令时,我确切地看到了上面的链接显示的可能的问题。

运行chcon命令解决了我的问题!

只需将html /替换为您要使用的目录即可!

chcon -Rv –type = httpd_sys_content_t html /

chcon -Rv –user = system_u html /

在一个侧面说明我也不得不禁用iptables让路由工作,默认提供空白页面。

服务iptables停止

希望能帮助任何有同样问题的人。

环境:Linux – SSD上的根文件系统HDD上的DocumentRoot,通过fstab安装启动后重新启动apache2 – 没问题似乎是在fstab挂载完成之前启动apache的计时问题。

解决方法:使用正确的所有者,组和权限在根文件系统上定义DocumentRoot目录。 该目录可能是空的。

首先,没有任何理由关掉selinux来解决这个问题,只是改变selinux文件的上下文。

其次,在更改selinux文件上下文时,应该为该路径设置一个永久规则,以便在新文件被复制和/或替换现有文件时, restorecon实际上修复了问题,而不是像以前那样破坏问题当你只使用chcon 。

因此,对于符号链接的DocumentRoot(让我们给这个例子的实际完整路径指向“/ media / myDoc”),运行这两个命令:

semanage fcontext -a -t httpd_sys_content_t "/media/myDoc(/.*)?"

restorecon -R /media/myDoc

请注意,以这种方式使用semanage时需要完整路径。 您不仅可以解决问题,而且在将来运行restorecon (或auto-relabel)时不会再次中断。

总结

以上是小编为你收集整理的Apache重新启动导致DocumentRoot必须是一个目录,即使它是一个目录,似乎没有特权问题全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

docker-compose.yml,网络必须是一个映射,而不是一个数组

docker-compose.yml,网络必须是一个映射,而不是一个数组

如何解决docker-compose.yml,网络必须是一个映射,而不是一个数组?

不确定 yaml 缩进如何工作,出现错误,同时为应用程序定义外部网络进行通信 ./docker-compose.yml'',network 必须是映射,不是数组

    version : ''3''

    services:
       zmq_sub:
         image: zmq_sub
       zmq_pub:
         image: zmq_pub
         depends_on:
           - zmq_sub 

    networks:
       - zmq_network:
         external: true

解决方法

version: "3.8"

services:
  my_app:
    image: some_image
    networks:
      - ingress

networks:
  ingress:
    name: existing_docker_network
    external: true

或使用默认堆栈网络名称

version: "3.8"

services:
  my_app:
    image: some_image

networks:
  default:
    name: existing_docker_network
    external: true

在我看来,您在新版本 (3) 中使用的是旧的 docker-compose 格式 (~2)

Eclipse键盘快捷键在一个文件中起作用,而不在另一个文件中起作用

Eclipse键盘快捷键在一个文件中起作用,而不在另一个文件中起作用

如何解决Eclipse键盘快捷键在一个文件中起作用,而不在另一个文件中起作用?

我正在运行Eclipse版本:Oxygen.2(4.7.2)内部版本号:M20171130-0510在Ubuntu 18.04.3 LTS上。

我的键盘首选项正在工作,在一个文件中正常工作,但在相同类型的另一个文件中却不工作。我制作了第三个文件来测试此行为,并且在第三个文件中,快捷方式再次起作用。所有文件都在同一环境中,我只是在谈论emacs样式的导航键序列。

这可能导致什么?仅在一个文件上,我将在哪里禁用键盘快捷键?我将如何重新启用它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

File 创建一个空目录,创建一个多级目录,删除一个目录

File 创建一个空目录,创建一个多级目录,删除一个目录

package seday03;

import java.io.File;

/**
* 创建一个空目录,
* @author xingsir
*/
public class MkDirDemo {

public static void main(String[] args) {
/*
* 在当前目录下新建一个名为:demo的目录
* 相对路径中"./"可以不写,默认就是在当前目录下开始
*/
File file =new File("Test");
if(!file.exists()) {
file.mkdir();
System.out.println("目录创建成功");
}else {
System.out.println("已存在该目录");
}
}

}

//==============================================================================

package seday03;

import java.io.File;

/**
* 创建一个多级目录
* @author xingsir
*/
public class MkDirsDemo {

public static void main(String[] args) {
/*
* 在当前目录中创建:A/B/C/D/E/F
*/
File dir = new File("A/B/C/D/E/F");
if(!dir.exists()) {
//创建当前目录是会将不存在的父目录一并建立
dir.mkdirs();
System.out.println("目录已创建!");
}else {
System.out.println("目录已存在!");
}
}

}

//=========================================================================

package seday03;

import java.io.File;

/**
* 删除一个目录
* @author xingsir
*/
public class DeleteFileDemo {

public static void main(String[] args) {
File dir = new File("Test");
if(dir.exists()) {
/*
* 删除目录的前提是这个目录是一个空目录
*/
dir.delete();
System.out.println("目录已删除");
}else {
System.out.println("目录不存在");
}
}

}

 

关于FileChooser来select一个目录,而不是一个文件file select的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于Apache重新启动导致DocumentRoot必须是一个目录,即使它是一个目录,似乎没有特权问题、docker-compose.yml,网络必须是一个映射,而不是一个数组、Eclipse键盘快捷键在一个文件中起作用,而不在另一个文件中起作用、File 创建一个空目录,创建一个多级目录,删除一个目录的相关知识,请在本站寻找。

本文标签: