主頁面 UpLoadUerInfo.htm 包含公司資訊、聯絡方式、反饋內容等表單欄位,並整合 WebUploader 進行多圖上傳。上傳處理頁面 UpLoad.aspx 需將伺服器重新命名後的檔名回傳給主頁面,以便表單提交時一併存入資料庫。
input:<input type="hidden" id="uploadedFiles" name="uploadedFiles" />server: 'UpLoad.aspx',並監聽 uploadAccept 事件。UpLoad.aspx 上傳成功後回傳 JSON:{ "success": true, "fileName": "20240101_abc.jpg" }uploadAccept 將檔名累加至隱藏欄位(逗號分隔或 JSON 陣列)。Request["uploadedFiles"] 即可取得所有檔名。UpLoad.aspx 將檔名存入 Session["UploadedFiles"](List
主頁面表單 action="UpLoad.aspx",上傳完成後 Server.Transfer("UpLoadUerInfo.htm") 攜帶檔名,但會導致頁面重載,用戶體驗較差。
public void ProcessRequest(HttpContext context) {
// ... 儲存檔案邏輯 ...
string newFileName = GenerateNewName(fileExt);
context.Response.ContentType = "application/json";
context.Response.Write("{\"success\":true,\"fileName\":\"" + newFileName + "\"}");
}
var uploader = WebUploader.create({
swf: 'Uploader.swf',
server: 'UpLoad.aspx',
pick: '#filePicker',
accept: { title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' }
});
uploader.on('uploadAccept', function(file, response) {
if (response.success) {
var hidden = document.getElementById('uploadedFiles');
hidden.value += (hidden.value ? ',' : '') + response.fileName;
}
});
資料表設計:FeedbackInfo (Id, Company, Contact, Content, ImageNames),ImageNames 存逗號分隔字串或 JSON 陣列,便於後續查詢與展示。