我的網站要求用戶上傳指定格式的xml文件。 所以我想在客戶端做一個語法和格式檢查,並幫助他們在上傳到服務器之前修復這些錯誤。 (我不要求更改硬盤上的真正的本地文件,只需要更改數據發送到服務器) 我目前使用的:是否可以使用javascript更改html <input>文件的內容?
var reader = new FileReader();
reader.onload = function(e) {
var xml = e.target.result;
// I help them correct xml here, this will involve lots of interaction with user,
// so I want it only happen on client side
var correctXML = fixSyntaxAndFormat(xml);
$.post('/foo/bar', {xml: correctXML});
}
reader.readAsText(evt.target.files[0]);
此代碼的工作,但它在後的數據發送XML,而不是一個真正的上傳的文件。 因爲我想監視文件上傳進度和保存等文件的相關信息,所以我希望能有這樣的:oldfile.content = correctXML
然後我可以只提交該表格包含我<input type="file"/>
。 這可能嗎?還是有一個「正確」的方式來做到這一點?
感謝
更新 感謝austincheney的榜樣,我結束了創建new Blob()
和使用替換原文件。似乎工作正常。