Esempio n. 1
0
    private void OnMultipartFileUpload()
    {
        RestResponsePanel();
        string   filePath = Application.dataPath + "/Retrofit4Unity/Demo/Textures/error.png";
        FileInfo fileInfo = new FileInfo(filePath);

        if (!fileInfo.Exists)
        {
            Debug.LogError("File not exits, please locate the file to upload");
            return;
        }
        MultipartBody multipartBody = new MultipartBody(fileInfo);
        var           ob            = httpService.MultipartFileUpload(multipartBody, 123.45f, "abc");

        ob.SubscribeOn(Scheduler.ThreadPool)
        .ObserveOn(Scheduler.MainThread)
        .Subscribe(data =>
        {
            Debug.LogFormat("Received on threadId:{0}", Thread.CurrentThread.ManagedThreadId);
            arg1.ShowArg("file in binary", data.files.file);
            arg2.ShowArg("additional-form-data", data.formData.arg1);
        },         // onSuccess
                   error =>
        {
            Debug.Log("Retrofit Error:" + error);
        });
    }
        /// <summary>
        /// 设置上传的文件
        /// content-type=multipart/form-data
        /// </summary>
        /// <param name="files">上传的文件信息</param>
        /// <returns></returns>
        public INoneBodyBuilder Form(IEnumerable <NamedFileStream> files)
        {
            var body = new MultipartBody();

            body.AddFiles(files);
            _requestBody = body;
            ContentType("multipart/form-data; boundary=" + body.Boundary);
            return(this);
        }
        /// <summary>
        /// 设置表单数据和上传的文件
        /// content-type=multipart/form-data
        /// </summary>
        /// <param name="files">上传的文件信息</param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public INoneBodyBuilder Form(IEnumerable <NamedFileStream> files, IDictionary <string, object> parameters)
        {
            var body = new MultipartBody();

            body.AddParameters(parameters);
            body.AddFiles(files);
            _requestBody = body;
            ContentType("multipart/form-data; boundary=" + body.Boundary);
            return(this);
        }
Esempio n. 4
0
        public void TestMultipartBody()
        {
            MultipartBody body = new MultipartBody();

            Assert.Null(body.GetBody());
            body.AddFiles(new List <NamedFileStream>
            {
                new NamedFileStream
                {
                    FileName = "RestRequest.dll",
                    Name     = "files",
                    Stream   = File.OpenRead(Directory.GetCurrentDirectory() + "/RestRequest.dll")
                }
            });
            body.AddParameters(new { id = 1 });
            body.AddParameters(new Dictionary <string, object> {
                { "name", "jack" }
            });
            Assert.NotNull(body.GetBody());
        }
Esempio n. 5
0
 public IObservable <HttpBinResponse> MultipartFileUpload(MultipartBody body, float fieldArg1, string fieldArg2)
 {
     return(SendRequest <HttpBinResponse>(body, fieldArg1, fieldArg2) as IObservable <HttpBinResponse>);
 }