이 값을 어떻게 설정할 수 있습니까?
<input type="file" />
이 값을 어떻게 설정할 수 있습니까?
<input type="file" />
답변:
보안상의 이유로 귀하는 할 수 없습니다.
상상해보십시오.
<form name="foo" method="post" enctype="multipart/form-data">
<input type="file" value="c:/passwords.txt">
</form>
<script>document.foo.submit();</script>
당신은 당신이 방문한 웹 사이트가 이것을 할 수 있기를 원하지 않습니까? =)
귀하의 질문에 대한 답변 (다른 사람들이 대답)은 아니지만 업로드 된 파일 필드의 편집 기능을 원한다면 다음과 같이하십시오.
<input>
태그는 새 파일을 업로드<input type="file" />
제품 이미지를 기존에? <img />
태그에 기존 이미지를 표시 할 수 있지만 파일을 제출하지 않으면 전달됩니다.
여기 다른 사람들이 말했듯이 : JavaScript로 파일을 자동으로 업로드 할 수 없습니다.
하나! 비밀번호로 전송하려는 정보 (예 : passwords.txt가 아님)에 액세스 할 수 있으면 해당 정보를 Blob 으로 업로드 할 수 있습니다 유형 한 다음 파일로 취급 할 수 있습니다.
서버가 보게 될 것은 실제로 값을 설정하는 사람과 구별 할 수 없습니다 <input type="file" />
. 트릭은 궁극적으로 서버와 함께 새로운 XMLHttpRequest ()를 시작하는 것입니다 ...
function uploadFile (data) {
// define data and connections
var blob = new Blob([JSON.stringify(data)]);
var url = URL.createObjectURL(blob);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'myForm.php', true);
// define new form
var formData = new FormData();
formData.append('someUploadIdentifier', blob, 'someFileName.json');
// action after uploading happens
xhr.onload = function(e) {
console.log("File uploading completed!");
};
// do the uploading
console.log("File uploading started!");
xhr.send(formData);
}
// This data/text below is local to the JS script, so we are allowed to send it!
uploadFile({'hello!':'how are you?'});
그렇다면 무엇을 사용할 수 있습니까? HTML5 캔버스 요소 를 jpg로 업로드하는 데 사용합니다 . 이렇게하면 사용자가 file
input
크기를 조정하거나 수정 한 로컬 캐시 된 이미지 만 선택하기 위해 요소 를 열어야하는 번거 로움을 줄일 수 있습니다 . 그러나 모든 파일 형식에 적용됩니다.
html로 정의하십시오.
<input type="hidden" name="image" id="image"/>
JS에서 :
ajax.jsonRpc("/consulta/dni", 'call', {'document_number': document_number})
.then(function (data) {
if (data.error){
...;
}
else {
$('#image').val(data.image);
}
})
후:
<input type="hidden" name="image" id="image" value="/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8U..."/>
<button type="submit">Submit</button>
실제로 우리는 할 수 있습니다. C #에서 웹 브라우저 컨트롤을 사용하여 FormToMultipartPostData Library를 사용하여 파일 값 기본값을 설정할 수 있습니다. 프로젝트에서이 라이브러리를 다운로드하여 포함해야합니다. 웹 브라우저를 사용하면 양식 내에서 웹 페이지를 탐색 할 수 있습니다. 웹 페이지가로드되면 webBrowser1_DocumentCompleted 내부의 스크립트가 실행됩니다. 그래서,
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
FormToMultipartPostData postData =
new FormToMultipartPostData(webBrowser1, form);
postData.SetFile("fileField", @"C:\windows\win.ini");
postData.Submit();
}
다운로드 및 전체 참조는 아래 링크를 참조하십시오.
https://www.codeproject.com/Articles/28917/Setting-a-file-to-upload-inside-the-WebBrowser-com