file: // para apontar um arquivo relativo para o diretório atual

13

Eu uso file: // para apontar para o arquivo local.

file://localhost/Users/smcho/Desktop/softwaredevelop/15.pdf

Não posso usar file: // para apontar para o arquivo local relativo ao diretório atual? Quero dizer o diretório atual por onde o arquivo que contém o arquivo: // está localizado.

file://./../15.pdf

Eu preciso de arquivo: // para vincular um arquivo em Leo . Com Leo, eu uso file: // para vincular a um arquivo local, e quero apontar para arquivos que estão localizados no diretório relativo ao diretório atual. Eu fiz uma pergunta semelhante no fórum do Google .

prosseek
fonte

Respostas:

16
file://

é para caminhos absolutos. Mas o seguinte será relativo ao seu diretório de trabalho:

file:./15.pdf
Robban
fonte
infelizmente, isso não funciona no OpenOffice: "A operação em ../15.pdf foi iniciada com um parâmetro inválido"
Michael
6

Eu não estou familiarizado com o software delineando o Leo, mas se ele lida com links da mesma maneira que um navegador da Web, tente o seguinte

../15.pdf
file:../15.pdf

Notas

  • Um link relativo geralmente não inclui o protocolo (como http:ou https:ou file:). Quando o protocolo é omitido, um navegador da Web usa o mesmo protocolo da página em que o link aparece.

  • Um link absoluto começa com //. Um link relativo não deve começar //.

  • O ./é necessário apenas se você estiver vinculando à pasta que contém a página exatamente. Caso contrário, você pode deixar de fora e começar com ../.

    ---- Em seu segmento no grupo de leo-editor você disse que file:./../15.pdfcausou um erro. Talvez a ./../combinação esteja confundindo seu software. Talvez file:../15.pdffuncione?

Bavi_H
fonte
Obrigado pela resposta, mas ambas as abordagens parecem não funcionar com Leo.
Prosseek
2

Relativo a quê? URIs por definição são absolutos. No entanto, você pode tornar seu URI relativo a um local conhecido, assim:

file://localhost/Users/smcho/Desktop/softwaredevelop/somedir/../15.pdf

Atualização A partir do que você disse, parece que você está tentando abrir um PDF de dentro de seu aplicativo. Normalmente isso é feito apenas executando o arquivo e permitindo que o SO descubra como lidar com ele. Em Python, você usaria algo como:

os.startfile("../15.pdf")

Os URIs como file://...são normalmente usados ​​no contexto de aplicativos baseados na web.

pesado
fonte
1
Obrigado pela resposta. Eu preciso apontar para um arquivo relativo ao diretório atual (onde o arquivo está localizado). Pode arquivar: // fazer isso?
prosseek
1
O diretório atual em qual contexto? Qual aplicativo você está usando? Isso está em algum tipo de página da web local ou algo assim?
heavyd
1
Se você está referenciando programaticamente file: // não é a maneira de fazê-lo.
RobotHumans
Eu elaborei a questão. O diretório atual significa o diretório onde o arquivo Leo está localizado.
prosseek
-1

MyClass.class.getResource ("/ com / fnf / si / DepAcctInq_V02.wsdl"); Funcionou para mim

Bhabani
fonte
1
Bem-vindo ao superusuário: Embora isso possa ou não responder à pergunta, seria uma resposta melhor se você pudesse fornecer alguma explicação sobre por que sua solução funciona com detalhes e é fácil seguir as instruções. Se você acha que sua resposta está correta, faça essas coisas e reedite. Por favor, dedique alguns minutos e leia: - superuser.com/help .Answering: superuser.com/help/how-to-answer , novamente bem-vindo ao superusuário.Thankyou
mic84