Como desmarcar “Adicionar como uma nova versão aos arquivos existentes” na caixa de diálogo “Adicionar um documento”

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/116122

  •  29-09-2020
  •  | 
  •  

Pergunta

Estou trabalhando em um conjunto de sites de publicação usando o modelo wiki corporativo.Atualmente, quando os usuários desejam inserir uma imagem dentro do editor de rich text, eles serão solicitados com o seguinte: –

enter image description here

E se o usuário inserir uma imagem que já existe ela substituirá a existente, o que poderá fazer com que a imagem seja exibida dentro de uma página Wiki à qual não pertence!!

Então, existe uma maneira de fazer o seguinte: -

  • Dê à nova imagem um nome exclusivo gerado automaticamente?
  • Para desmarcar “Adicionar como uma nova versão aos arquivos existentes” por padrão?
  • Ou evitar sempre a substituição de imagens, pois isso pode causar muitos conflitos!!

tentei atualizar o Upload.aspx, alterando o

 <asp:CheckBox id="OverwriteSingle" Checked="true" Text="<%$Resources:wss,upload_document_overwrite_file%>" runat="server" />

ser Checked="false" em vez de Checked="true" ,, mas não mudou nada?Alguém pode aconselhar sobre isso, por favor?

Alguém pode aconselhar? Por favor?

Editaradicionei o seguinte ao meu upload.aspx: -

<SharePoint:ScriptBlock runat="server">
          $(document).ready(function() {
                _spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
                $(document).ready(function () {
                    if (document.title == "Upload Document") {
                        $("input[id$='OverwriteSingle']").attr("checked", false);
                        $("input[id$='OverwriteMultiple']").attr("checked", false);
                    }
     if (document.title == "Upload Image") {
                        $("input[id$='OverwriteSingle']").attr("checked", false);
                        $("input[id$='OverwriteMultiple']").attr("checked", false);
                    }
                });
      });

mas não desmarcou a caixa de seleção, você pode aconselhar?

Foi útil?

Solução

Eu fiz isso antes, mas foi para o Sharepoint 2010 (veja minha postagem no blog).

O código que usei é o abaixo.Ela deve ser inserida na sua masterpage, logo antes da tag </head>:

<script type="text/javascript">
function DefaultUploadOverwriteOff() {
  if (document.title.indexOf("Upload Document") > -1) {
    var input=document.querySelectorAll("input");
    for (var i=input.length; i--;) {
      if (input[i].id.search(/\_OverwriteSingle$|\_OverwriteMultiple$/) > -1) input[i].checked=false
    }
  }
}
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
</script>
</head>

É JavaScript puro, então não há necessidade de jQuery.E deve ser inserido na masterpage, portanto não é necessário ter acesso ao servidor.

Outras dicas

Acho que desmarcar a caixa de seleção resolverá todo o seu problema.Como se esta caixa de seleção estivesse desmarcada, o usuário que carrega o arquivo duplicado receberá um erro sobre o mesmo nome do arquivo.E para desmarcar a caixa de seleção, veja os comentários abaixo.

Escrever um javascript diretamente no arquivo upload.aspx presente na pasta layouts/15, mas isso não é recomendado.

Portanto, nesse caso, você pode escrever um recurso personalizado com um controle delegado "AdditionalPagehead" para injetar javascript para tornar a caixa de seleção "desmarcada".

>         <script>
>     _spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
>     $(document).ready(function() {
>         if (document.title == "Upload Document") {
>             $("input[id$='OverwriteSingle']").attr("checked",false);
>             $("input[id$='OverwriteMultiple']").attr("checked",false);
>         }});
>       </script>

Para sua referência, você pode ver os links abaixo: -

Link1

Link2

Experimente este código:Insira JavaScript usando controle delegado via recurso.Não aplique manualmente o javascript diretamente na página de upload, pois isso causará muitos problemas de compilação.Siga Link2

function DefaultUploadOverwriteOff()
{
   var inputs = document.getElementsByTagName('input');
   var i=0;
   for (i=0;i<inputs.length;i++)
   {
      var input = inputs[i];
      if (input.type == 'checkbox' && (input.id.indexOf('OverwriteSingle')>-1 || input.id.indexOf('OverwriteMultiple')>-1))
        input.checked = false;
   }
}
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top