服务器开发

来源:互联网 发布:软件稳定性测试方法 编辑:程序博客网 时间:2024/04/30 15:40
文件服务器
上传文件之后 文件是临时文件 需要再次请求确认 之后变为永久文件。具体接口


确认
http://IP+端口/ConfirmHandler.ashx?t=[%22b23c8cf5-aaf9-42ee-a64c-c38b445f2179%22]

获取临时文件
http:// IP+端口/GetTempFiles.ashx?FileID=b23c8cf5-aaf9-42ee-a64c-c38b445f2179

获取永久文件:
http:// IP+端口/GetFiles.ashx?FileID=871c70b2-4f1b-11e6-bca8-448a5bb39ce7

视频地址
http:// IP+端口/Mobile/Video?FileID=4e6e4f15-010d-4160-b370-d5293f1fa85d


调接口
C#确认文件为永久文件
string field = FiedURL + "ConfirmHandler.ashx";
                    //get请求
                    string dd = JsonHelper.EncodeJson(submitData.UserImage);
                    string values = "t=[" + dd + "]";
                    HttpGet(field, values);


/// <summary>
        /// get 请求
        /// </summary>
        /// <param name="Url"></param>
        /// <param name="postDataStr"></param>
        /// <returns></returns>
        public string HttpGet(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
            request.Method = "GET";
            request.ContentType = "text/html;charset=UTF-8";

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            string retString = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close();

            return retString;
        }


Ios 调用接口

+ (void)postIconImageData:(NSData *)imagefile success:(SuccessBlock)success failure:(FailedBlock)failed {
    AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
    session.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html", @"text/json",@"text/javascript",@"application/json",nil];
   
    //@"http://119.145.5.77:8029/UploadHandler.ashx"
    NSString *upLoadUrl = [NSString stringWithFormat:@"%@/UploadHandler.ashx",TBLFileUrl];
    [session POST:upLoadUrl parameters:
nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileData:imagefile name:@"file" fileName:@"image.png" mimeType:@"image/png"];
    } progress:^(NSProgress * uploadProgress) {
    } success:^(NSURLSessionDataTask *task, id responseObject) {
        if ([responseObject[@"Success"] boolValue]) {
            success(responseObject[@"Data"]);
        } else {
            failed(responseObject[@"Message"]);
        }
       
    } failure:^(NSURLSessionDataTask
*task, NSError *error) {
        NSLog(@"上传失败!------%@", error.localizedDescription);
        failed(error.description);
    }];
}



安卓调用接口  用X.HTTP 架包 调用上传接口

String url = HttpLoc.UPLOAD_IMG;
    File file = new File(pString+itemBean.getVideoCover());
    RequestParams params = new RequestParams(url);
    params.setConnectTimeout(10000);
    params.setMultipart(true);
    params.addBodyParameter("file",file);
    x.http().post(params, new CommonCallback<String>() {
     @Override
     public void onCancelled(CancelledException arg0) {
      System.out.println("onCancelled ==> ");
     }

     @Override
     public void onError(Throwable arg0, boolean arg1) {
      System.out.println("LOAD_IMG -> onError ==> ");
      ShowToast(StartAty.this,"上传图片失败");
     }

     @Override
     public void onFinished() {
      System.out.println("LOAD_IMG ->onFinished ==> ");
     }

     @Override
     public void onSuccess(String arg0) {
      
     }
    });


ajax请求
文件服务器上传案例
ajax请求响应
 //上传图片到文件服务器
    $('#file_upload').uploadify({
        width: 80,
        height: 20,
        fileSizeLimit: '4MB',
        buttonText: "选择图片",
        fileTypeExts: '*.jpg;*.bmp;*.gif;*.png',
        auto: true,
        multi: false,
        swf: '../Plugins/uploadify/uploadify.swf',
        uploader: Constant.file_Url + 'UploadHandler.ashx',
        onSelect: function (file) {
            $("#showFileName").html(file.name);
        },
        onUploadSuccess: function (file, data, respone) {
            if (respone) {
                data = eval("(" + data + ")");
                if (data.Success) {
                    $("#fileinfo").val(data.Data.ID);
                }
            }
        },
        onUploadError: function (file, errorCode, erorMsg, errorString) {
            $("#fileinfo").val("");
            Common.tips(erorMsg);
        }
    });
其中
onSelect 选择执行的事件
onUploadSuccess 上传成功之后执行的事件
文件服务器代码稍后上传(由于公司内部保密 不上传一些敏感的信息)
Constant.code_Url  需要请求的地址
uploader: Constant.file_Url + 'UploadHandler.ashx',
这个在我们自己的文件服务器上是上传你的临时文件
需要 确认
          $.ajax({
                    url: Constant.file_Url + "ConfirmHandler.ashx",
                    data: { t: $.toJSON([info.fileID]) },
                     type: "POST",
                     dataType: 'jsonp',
                     success: function (result) {
                      var xx = result;
                     }
                  });
                     
获取资源  上传视频预览 得到地址
 //var picurl = Constant.file_Url + "/Preview.ashx";
var picurl = Constant.file_Url + "/GetFiles.ashx?FileID=" + param;
$.ajax({
            type: "POST",
            url: picurl,
            data: { FileID: param },
            dataType: "jsonp",
            success: function (msg) {
                msg = eval(msg)
                if (msg.CanPreview) {
                   // alert(msg.URL);
                   // window.location.href = msg.URL;
                    var tempHtmlUpdate = $("#div_AddVote")[0];
                    art.dialog({
                        content: tempHtmlUpdate,
                        title: '预览',
                        lock: true,
                        ok: function () {
                        },
                        cancelVal: '取消',
                        cancel: true //为true等价于function(){}
                    });
                    $("#div_AddVote").html("<iframe width=500 height=500 src=" + msg.URL + "></iframe>");
                }
            },
             error: function (e, x) {

            }
        });
下面这个是
这个是上传到本地的
 //上传图片到本地
    var isUpload = true;
    $('#file_upload').uploadify({
        width: 80,
        height: 20,
        fileSizeLimit: '4MB',
        buttonText: "选择图片",
        fileTypeExts: '*.jpg;*.bmp;*.gif;*.png',
        auto: true,
        multi: false,
        swf: '../Plugins/uploadify/uploadify.swf',
        uploader: '../../VoteManage/ImportHandler.ashx?fileType=img',
        onSelect: function (file) {
            isUpload = false;
            $("#showFileName").html(file.name);
            $("#fileinfo").val("");
        },
        onUploadSuccess: function (file, data, respone) {
            if (respone) {
                isUpload = true;
                var newdata = data.replace(/\\/g, "/");
                var num = newdata.indexOf("/Upload", 0)
                var uploadPath = newdata.substring(num, newdata.length);
                $("#fileinfo").val(uploadPath);
            }
        },
        onUploadError: function (file, errorCode, erorMsg, errorString) {
            $("#fileinfo").val("");
            Common.tips(erorMsg);
        },
        onCancel: function () {
            respone = true;
        }
    });





0 0