Разделитель для использования в значении строки запроса

22
задан Matthew Cole 13 March 2009 в 13:41
поделиться

5 ответов

Если бы они - имена файлов, хорошим выбором был бы символ, который запрещен в именах файлов. Предложения до сих пор включали , | &, которые обычно позволяются в именах файлов и поэтому могли бы привести к неоднозначностям. /, с другой стороны, обычно не позволяется, даже в Windows. Это позволяется в URIs, и это не имеет никакого особого значения в строках запроса.

Пример:

http://someSite/someApp/myUtil.ashx?files=file1.txt|file2.bmp|file3.doc плохо, потому что это может относиться к правильному файлу file1.txt|file2.bmp.

http://someSite/someApp/myUtil.ashx?files=file1.txt/file2.bmp/file3.doc однозначно относится к 3 файлам.

15
ответ дан MSalters 29 November 2019 в 03:55
поделиться

Я рекомендовал бы делать каждый файл его собственным параметром запроса, т.е.

myUtil.ashx?file1=file1.txt&file2=file2.bmp&file3=file3.doc

Этот способ, которым можно просто использовать стандартный анализ запроса и цикл

7
ответ дан Appulus 29 November 2019 в 03:55
поделиться

Необходимо ли перечислить имена файлов как строку? Большинство языков принимает массивы в querystring, таким образом, Вы могли записать это как

http://someSite/someApp/myUtil.ashx?files[]=file1.txt&files[]=file2.bmp&files[]=file3.doc

, Если это не делает, или Вы не можете использовать по некоторой другой причине, необходимо придерживаться разделителя, который или не позволяется или не необычен в имени файла. Канал (|) является хорошим, иначе Вы могли urlencode невидимый символ, так как они довольно просты в использовании в кодировании, но тяжелее на самом деле включать в имя файла.

я обычно использую массивы, когда возможный и передают по каналу иначе.

6
ответ дан Jimmy Stenke 29 November 2019 в 03:55
поделиться

Я думаю, что рассмотрел бы использование запятых или точек с запятой.

0
ответ дан nan 29 November 2019 в 03:55
поделиться

Я всегда использовал двойные каналы "||". У меня нет достоверных свидетельств для поддержки, почему это - хороший выбор кроме 10 лет веб-программирования, и это никогда не была проблема.

5
ответ дан Rick Hochstetler 29 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: